Function at 0x414840
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x840
mov esi, esp
mov dword [esi + 0x2f8], 0x18150f9c
lea eax, [esi + 0x2f8]
mov dword [esi], eax
mov eax, dword [esi + 0x2f8]
mov ecx, eax
sub ecx, 0x82fa7353
je 0x41575b
jmp 0x414879
mov ecx, eax
sub ecx, 0x830888b2
je 0x416976
jmp 0x414889
mov ecx, eax
sub ecx, 0x86f1844e
je 0x416795
jmp 0x414899
mov ecx, eax
sub ecx, 0x87aaab1d
je 0x416eb3
jmp 0x4148a9
mov ecx, eax
sub ecx, 0x8808c000
je 0x416f30
jmp 0x4148b9
mov ecx, eax
sub ecx, 0x89ca92cd
je 0x4183d3
jmp 0x4148c9
mov ecx, eax
sub ecx, 0x8abd45cf
je 0x41867c
jmp 0x4148d9
mov ecx, eax
sub ecx, 0x8cc58dd4
je 0x4196d3
jmp 0x4148e9
mov ecx, eax
sub ecx, 0x8d727e7a
je 0x417261
jmp 0x4148f9
mov ecx, eax
sub ecx, 0x8d8cae7f
je 0x416cb7
jmp 0x414909
mov ecx, eax
sub ecx, 0x8e748d36
je 0x41801b
jmp 0x414919
mov ecx, eax
sub ecx, 0x8ebfd9a0
je 0x41897b
jmp 0x414929
mov ecx, eax
sub ecx, 0x8fa30d9d
je 0x41640c
jmp 0x414939
mov ecx, eax
sub ecx, 0x94992e68
je 0x416a65
jmp 0x414949
mov ecx, eax
sub ecx, 0x95dfa69e
je 0x4184ae
jmp 0x414959
mov ecx, eax
sub ecx, 0x963a9417
je 0x4190c7
jmp 0x414969
mov ecx, eax
sub ecx, 0x98493ae1
je 0x41712c
jmp 0x414979
mov ecx, eax
sub ecx, 0x99d4cccf
je 0x418be3
jmp 0x414989
mov ecx, eax
sub ecx, 0x99ee5d7a
je 0x4184e3
jmp 0x414999
mov ecx, eax
sub ecx, 0x9b8368d6
je 0x416a40
jmp 0x4149a9
mov ecx, eax
sub ecx, 0x9bafaf89
je 0x41718f
jmp 0x4149b9
mov ecx, eax
sub ecx, 0x9c5db8e0
je 0x415c14
jmp 0x4149c9
mov ecx, eax
sub ecx, 0x9d8b7a3f
je 0x416d10
jmp 0x4149d9
mov ecx, eax
sub ecx, 0xa0e2df3a
je 0x4178a3
jmp 0x4149e9
mov ecx, eax
sub ecx, 0xa18a221e
je 0x416039
jmp 0x4149f9
mov ecx, eax
sub ecx, 0xa3bd5c44
je 0x415d13
jmp 0x414a09
mov ecx, eax
sub ecx, 0xa411ce15
je 0x415f15
jmp 0x414a19
mov ecx, eax
sub ecx, 0xa432ec13
je 0x415c3a
jmp 0x414a29
mov ecx, eax
sub ecx, 0xaae17269
je 0x41609f
jmp 0x414a39
mov ecx, eax
sub ecx, 0xac469674
je 0x4170e9
jmp 0x414a49
mov ecx, eax
sub ecx, 0xb0a921d6
je 0x418c57
jmp 0x414a59
mov ecx, eax
sub ecx, 0xb12885b0
je 0x4165e9
jmp 0x414a69
mov ecx, eax
sub ecx, 0xb30c9a70
je 0x4164d6
jmp 0x414a79
mov ecx, eax
sub ecx, 0xb3adb628
je 0x4164f0
jmp 0x414a89
mov ecx, eax
sub ecx, 0xb91f0426
je 0x4188da
jmp 0x414a99
mov ecx, eax
sub ecx, 0xba31226e
je 0x4180c7
jmp 0x414aa9
mov ecx, eax
sub ecx, 0xbac5cdb3
je 0x417107
jmp 0x414ab9
mov ecx, eax
sub ecx, 0xbb3927cd
je 0x4164fd
jmp 0x414ac9
mov ecx, eax
sub ecx, 0xbb456df0
je 0x418464
jmp 0x414ad9
mov ecx, eax
sub ecx, 0xbd5d9a87
je 0x416a72
jmp 0x414ae9
mov ecx, eax
sub ecx, 0xbf34b4c7
je 0x4164e3
jmp 0x414af9
mov ecx, eax
sub ecx, 0xc1adeae8
je 0x41794a
jmp 0x414b09
mov ecx, eax
sub ecx, 0xc870dc20
je 0x4165cf
jmp 0x414b19
mov ecx, eax
sub ecx, 0xcddcf854
je 0x4158d7
jmp 0x414b29
mov ecx, eax
sub ecx, 0xcfeaf9c8
je 0x416c50
jmp 0x414b39
mov ecx, eax
sub ecx, 0xd0e945e4
je 0x415f4d
jmp 0x414b49
mov ecx, eax
sub ecx, 0xd1a2a526
je 0x415528
jmp 0x414b59
mov ecx, eax
sub ecx, 0xd38bc7fa
je 0x416f87
jmp 0x414b69
mov ecx, eax
sub ecx, 0xd5027883
je 0x4179b8
jmp 0x414b79
mov ecx, eax
sub ecx, 0xd6d3609a
je 0x416081
jmp 0x414b89
mov ecx, eax
sub ecx, 0xd715ab4f
je 0x418a00
jmp 0x414b99
mov ecx, eax
sub ecx, 0xd83ce7dd
je 0x41758f
jmp 0x414ba9
mov ecx, eax
sub ecx, 0xd8532abd
je 0x415c70
jmp 0x414bb9
mov ecx, eax
sub ecx, 0xdb54bb4a
je 0x41842a
jmp 0x414bc9
mov ecx, eax
sub ecx, 0xdbb5e204
je 0x415995
jmp 0x414bd9
mov ecx, eax
sub ecx, 0xdbbe8fd0
je 0x41573d
jmp 0x414be9
mov ecx, eax
sub ecx, 0xde64ed62
je 0x416638
jmp 0x414bf9
mov ecx, eax
sub ecx, 0xdfbaa832
je 0x417cc9
jmp 0x414c09
mov ecx, eax
sub ecx, 0xdfe402ee
je 0x416747
jmp 0x414c19
mov ecx, eax
sub ecx, 0xe36ca15d
je 0x415c2d
jmp 0x414c29
mov ecx, eax
sub ecx, 0xe3c6abca
je 0x417247
jmp 0x414c39
mov ecx, eax
sub ecx, 0xe75fd05b
je 0x418c3a
jmp 0x414c49
mov ecx, eax
sub ecx, 0xeabe1124
je 0x41574e
jmp 0x414c59
mov ecx, eax
sub ecx, 0xee1057f8
je 0x415f8b
jmp 0x414c69
mov ecx, eax
sub ecx, 0xee21a884
je 0x416d6c
call fcn.00419b80
sub esp, 8
mov eax, esp
mov dword [esi + 0x29c], eax
push eax
mov eax, esp
mov dword [esi + 0x3bc], eax
sub esp, 0x40
mov eax, esp
mov dword [esi + 0xe4], eax
sub esp, 0x60
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x2a0], eax
push eax
mov eax, esp
mov dword [esi + 0x3c0], eax
push eax
mov eax, esp
mov dword [esi + 0x84], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2a4], eax
push eax
mov eax, esp
mov dword [esi + 0x3c4], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0xe8], eax
push eax
mov eax, esp
mov dword [esi + 0x3c8], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0xec], eax
push eax
mov eax, esp
mov dword [esi + 0x3cc], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0xf0], eax
push eax
mov eax, esp
mov dword [esi + 0x3d0], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0xf4], eax
push eax
mov eax, esp
mov dword [esi + 0x3d4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2a8], eax
push eax
mov eax, esp
mov dword [esi + 0x3d8], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x2ac], eax
push eax
mov eax, esp
mov dword [esi + 0x3dc], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x58], eax
push eax
mov eax, esp
mov dword [esi + 0x2b0], eax
sub esp, 0x40
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x2b4], eax
sub esp, 0x38
mov eax, esp
mov dword [esi + 0x2b8], eax
push eax
mov eax, esp
mov dword [esi + 0x3e0], eax
sub esp, 0x44
mov eax, esp
mov dword [esi + 0xf8], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x88], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x5c], eax
push eax
sub esp, 0x40
mov eax, esp
mov dword [esi + 0xfc], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x60], eax
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00401c20
add esp, 4
mov dword [esi + 0x64], eax
cmp dword [esi + 0x64], 0
sete al
and al, 1
mov byte [esi + 0x46], al
mov eax, dword [esi]
mov dword [eax], 0x6284b65
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x99ee5d7a
mov byte [esi + 0x20], 1
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x82fa7353
jmp 0x4196f8
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x64]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00402070
add esp, 8
mov dword [esi + 8], eax
mov al, byte [esi + 0x40]
mov byte [esi + 0x1a8], al
mov byte [esi + 0x74], 0xbf
mov byte [esi + 0x75], 0x2b
mov eax, 2
mov byte [esi + eax + 0x74], 0
add eax, 1
cmp eax, 5
jne 0x41578f
xor eax, eax
cmp eax, 5
jae 0x4157c6
mov dl, byte [esi + eax + 0x74]
mov edi, eax
shl edi, 1
and edi, 0xee
mov ecx, eax
xor ecx, 0x77
add ecx, edi
xor cl, dl
add cl, 0xad
mov byte [esi + eax + 0x74], cl
add eax, 1
jmp 0x41579e
mov eax, dword [esi + 8]
lea ecx, [esi + 0x74]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401f40
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x48], al
mov eax, dword [esi]
mov dword [eax], 0x1faf87d8
jmp 0x4196f8
mov al, byte [esi + 0x128]
mov byte [esi + 0x1b4], al
mov byte [esi + 0x304], 0x45
mov byte [esi + 0x305], 0xe1
mov eax, 2
mov byte [esi + eax + 0x304], 0
add eax, 1
cmp eax, 8
jne 0x4158f6
xor eax, eax
cmp eax, 8
jae 0x415959
movzx edx, byte [esi + eax + 0x304]
mov edi, eax
shl edi, 1
and edi, 0x18c1b2b0
mov ecx, eax
xor ecx, 0x8c60d958
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
mov edi, ecx
add edi, 0x421bc147
mov edx, edi
and edx, 1
and edi, 1
xor edi, 0xffffffff
add ecx, 0x49
add ecx, edi
add edx, ecx
mov byte [esi + eax + 0x304], dl
add eax, 1
jmp 0x415908
mov eax, dword [esi + 8]
sub esp, 0xc
lea ecx, [esi + 0x304]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401f40
add esp, 0xc
sub eax, 1
mov al, 1
sbb al, 0xff
and al, 1
mov byte [esi + 0x4a], al
mov eax, dword [esi]
mov dword [eax], 0xdbb5e204
jmp 0x4196f8
mov eax, 0x583de062
test byte [esi + 0x4a], 1
jne 0x4159a5
mov eax, 0x36d551cc
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, 0x354ab19a
test byte [esi + 0x4b], 1
jne 0x415c24
mov eax, 0xe36ca15d
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xa432ec13
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xfb320782
jmp 0x4196f8
mov eax, 0x202ead01
test byte [esi + 0x21], 1
jne 0x415c80
mov eax, 0x7b2dc24c
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x26e993f0
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x55a6f2e6
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xf3e93f39
jmp 0x4196f8
mov eax, dword [esi + 0x120]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415fa7
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408c10
add esp, 4
mov dword [esi + 0x108], eax
mov eax, dword [0x44cfec]
mov dword [esi + 0x344], eax
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x108]
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x104]
xor eax, eax
lea eax, [esi + 0x120]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call dword [esi + 0x344]
mov ecx, 0x441ec72a
cmp eax, 0
jge 0x416016
mov eax, dword [esi]
mov dword [eax], 0x7d62212e
jmp 0x4196f8
mov eax, dword [esi + 0x24]
sub esp, 4
mov dword [esp], eax
call fcn.00408c20
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xaae17269
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x7a073967
jmp 0x4196f8
call fcn.00409370
mov ecx, 0x24
cdq
idiv ecx
lea eax, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
add eax, edx
mov dword [esi + 0x2d0], eax
mov eax, dword [esi]
mov dword [eax], 0x45473c4f
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xbf34b4c7
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xb3adb628
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xbb3927cd
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x1cbe8f6b
mov dword [esi + 0xc0], 4
mov dword [esi + 0xbc], 0
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x3c04e6d
jmp 0x4196f8
mov eax, dword [esi + 0x2c]
sub esp, 4
mov dword [esp], eax
call fcn.00408c20
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x22f8155a
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x31e458aa
jmp 0x4196f8
mov eax, dword [esi + 0x3fc]
mov ecx, dword [esi + 0x2c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00419b10
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0xfea0b3e
jmp 0x4196f8
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0x3cc]
mov eax, dword [esi + 0xec]
mov cl, byte [ecx]
mov byte [esi + 0x1e4], cl
mov byte [eax], 0xe6
mov byte [eax + 1], 0x31
mov byte [eax + 2], 0xae
mov byte [eax + 3], 0x33
mov byte [eax + 4], 0xb8
mov byte [eax + 5], 0x2d
mov byte [eax + 6], 0xba
mov byte [eax + 7], 0x2f
mov byte [eax + 8], 0x28
mov byte [eax + 9], 0x29
mov ecx, 0xa
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0xc
jne 0x4167db
mov eax, dword [esi + 0xec]
xor ecx, ecx
cmp ecx, 0xc
jae 0x416818
mov bl, byte [eax + ecx]
mov edi, ecx
shl edi, 1
and edi, 0x98
mov edx, ecx
xor edx, 0xcc
add edx, edi
xor dl, bl
add dl, 4
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x4167ef
mov ecx, dword [esi + 0x2c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00419b10
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0x33049ff2
jmp 0x4196f8
mov eax, dword [esi + 0x278]
mov dword [esi + 0x400], eax
mov eax, dword [esi]
mov dword [eax], 0x11b9d845
mov eax, dword [esi + 0x400]
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], eax
jmp 0x4196f8
mov eax, 0x94992e68
test byte [esi + 0x4e], 1
jne 0x416a50
mov eax, 0xfa63650c
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x2dc]
mov dword [esi + 0x27c], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xbd5d9a87
jmp 0x4196f8
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
xor edi, edi
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00440b90
add esp, 0x10
mov dword [esi + 0x404], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x37c], eax
mov al, byte [esi + 0x198]
mov byte [esi + 0x22c], al
mov byte [esi + 0x19c], 0x25
mov byte [esi + 0x19d], 0x2a
mov byte [esi + 0x19e], 0x2b
mov byte [esi + 0x19f], 0x28
mov eax, 4
mov byte [esi + eax + 0x19c], 0
add eax, 1
cmp eax, 6
jne 0x416ade
xor edx, edx
cmp edx, 6
jae 0x416b8b
movzx edi, byte [esi + edx + 0x19c]
mov ecx, edi
and ecx, 0x32
xor ecx, 0x32
mov eax, edi
and eax, 0x32
xor eax, 0xbe5b1932
or ecx, eax
and edi, 0xcd
mov dword [esi + 0x310], edi
mov ebx, 0x853dec88
sub ebx, edx
and ebx, 0xbe5b1932
mov edi, 0x53dec88
sub edi, edx
mov eax, edi
and eax, 0x41a4e6cd
or ecx, dword [esi + 0x310]
or eax, ebx
and edi, 0x41a4e6cd
or edi, ebx
xor edi, 0x41a4e6cd
xor eax, 0x41a4e6cd
and edi, eax
xor ecx, edi
mov eax, 0x7f
sub eax, ecx
and eax, 0xd3
and ecx, 0x2c
sub ecx, eax
mov byte [esi + edx + 0x19c], cl
add edx, 0xebf9f5e7
mov eax, edx
and eax, 0xa
or edx, 0x14060a1a
add edx, eax
jmp 0x416af0
mov eax, dword [esi + 0x19c]
mov dword [esi + 0x350], eax
xor edi, edi
mov eax, 2
cmp edi, dword [0x44cff0]
jb 0x416ba8
jmp 0x416c0c
mov ecx, dword [0x44cff4]
cmp dword [ecx + edi*8], 0x1b6183f2
sete bl
xor eax, eax
test bl, 1
jne 0x416bc1
jmp 0x416c00
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, dword [esi + 0x350]
je 0x416c00
mov eax, dword [0x44cff8]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov eax, dword [esi + 0x37c]
mov dword [esp + 0xc], eax
call fcn.0043def0
add esp, 0x10
mov eax, 1
test bl, 1
je 0x416c07
jmp 0x416c0c
add edi, 1
jmp 0x416b99
cmp eax, 2
jne 0x416c11
mov eax, dword [esi]
mov dword [eax], 0x14c2bc5a
jmp 0x4196f8
mov eax, dword [esi + 4]
sub esp, 4
mov dword [esp], eax
call fcn.0043b890
add esp, 4
mov dword [esi + 4], 0
cmp dword [esi + 0x408], 0
setge al
and al, 1
mov byte [esi + 0x4f], al
mov eax, dword [esi]
mov dword [eax], 0x2e45fc00
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x6034a18b
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x298], 4
mov dword [esi + 0x294], ecx
mov dword [esi + 0x290], eax
mov dword [esi + 0x28c], 0
jmp 0x4196f8
mov eax, 0x3d531b35
test byte [esi + 0x50], 1
jne 0x416d20
mov eax, 0x5294c09c
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.00419700
add esp, 4
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov dword [esi + 0x410], eax
mov eax, dword [esi]
mov dword [eax], 0x19bf258
mov eax, dword [esi + 0x410]
mov dword [esi + 0x280], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x78d0c35f
jmp 0x4196f8
mov eax, dword [esi + 0x284]
mov dword [esi + 0x2e4], eax
mov eax, dword [esi + 0x40c]
add eax, 9
mov ecx, dword [esi + 0x2e0]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
sub eax, ecx
add eax, dword [esi + 0x2e4]
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416fd2
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408c10
add esp, 4
mov dword [esi + 0x2e8], eax
mov ecx, dword [esi + 0x3dc]
mov eax, dword [esi + 0x2ac]
mov cl, byte [ecx]
mov byte [esi + 0x1f4], cl
mov byte [eax], 0xee
mov byte [eax + 1], 0x79
mov byte [eax + 2], 0xeb
mov byte [eax + 3], 0x7f
mov byte [eax + 4], 0xee
mov byte [eax + 5], 0x7d
mov byte [eax + 6], 6
mov byte [eax + 7], 0x63
mov byte [eax + 8], 0xc
mov byte [eax + 9], 0x61
mov byte [eax + 0xa], 0xa
mov byte [eax + 0xb], 0x67
mov byte [eax + 0xc], 0x33
mov byte [eax + 0xd], 0x65
mov byte [eax + 0xe], 0x3c
mov byte [eax + 0xf], 0x6b
mov byte [eax + 0x10], 0x68
mov byte [eax + 0x11], 0x69
mov ecx, 0x12
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x17
jne 0x417046
mov eax, dword [esi + 0x2ac]
xor ecx, ecx
cmp ecx, 0x17
jae 0x417080
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x6a
mov ebx, ecx
add ebx, 0x6a
and ebx, edi
shl ebx, 1
add edx, edi
sub edx, ebx
add dl, 0xee
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x41705a
mov ecx, dword [esi + 0x2e8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a6a0
add esp, 8
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov eax, dword [esi + 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a6a0
add esp, 8
mov ecx, eax
add ecx, 2
mov dword [esi + 0x110], ecx
mov word [eax], 0x22
mov eax, 0xbac5cdb3
cmp dword [esi + 0x14], 0
je 0x4170e0
mov eax, 0xac469674
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.00408c20
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xbac5cdb3
jmp 0x4196f8
mov eax, 0x98493ae1
test byte [esi + 0x22], 1
jne 0x417117
mov eax, 0x9bafaf89
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x288], eax
jmp 0x4196f8
mov edi, dword [esi + 0x110]
add edi, 2
mov eax, dword [esi + 0x110]
mov word [eax], 0x2c
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x10c]
xor edx, edx
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040b3e0
add esp, 0x10
shl eax, 1
add edi, eax
mov dword [esi + 0x418], edi
mov eax, dword [esi]
mov dword [eax], 0x9bafaf89
mov eax, dword [esi + 0x418]
mov dword [esi + 0x288], eax
jmp 0x4196f8
mov eax, dword [esi + 0x288]
mov dword [esi + 0x2ec], eax
mov eax, 0x2525b0f9
test byte [esi + 0x23], 1
jne 0x4171ab
mov eax, 0x5015120f
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x279e2e49
jmp 0x4196f8
mov eax, 0x135ac925
test byte [esi + 0x51], 1
jne 0x417271
mov eax, 0xd83ce7dd
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov dword [esi + 0xcc], 0
jmp 0x4196f8
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd4]
mov dword [esi + 0x41c], eax
mov dword [esi + 0x420], ecx
mov dword [esi + 0x424], edx
mov eax, dword [esi]
mov dword [eax], 0x6034a18b
mov eax, dword [esi + 0x424]
mov ecx, dword [esi + 0x420]
mov edx, dword [esi + 0x41c]
mov dword [esi + 0x298], 0
mov dword [esi + 0x294], eax
mov dword [esi + 0x290], ecx
mov dword [esi + 0x28c], edx
jmp 0x4196f8
mov eax, dword [esi + 0x118]
sub esp, 4
mov dword [esp], eax
call fcn.00408c20
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x474f8c09
jmp 0x4196f8
mov eax, 0x7fb3289f
cmp dword [esi + 0x9c], 2
jl 0x41795d
mov eax, 0x656d9c1a
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, 0x20ce1260
test byte [esi + 0x21], 1
jne 0x4179c8
mov eax, 0x7fb3289f
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, 0x5f7474d9
test byte [esi + 0x52], 1
jne 0x417cd9
mov eax, 0xf2758045
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov edi, dword [esi + 0xfc]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xfc]
mov dword [eax], 0x44
mov eax, dword [0x44cfe4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.0043fb60
add esp, 8
test eax, eax
setne cl
mov edi, dword [esi + 0x98]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0xfc]
xor ebx, ebx
sub esp, 0x28
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call eax
mov ecx, 0xba31226e
cmp eax, 0
jne 0x4180be
mov ecx, 0x74026ddb
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x4196f8
mov eax, dword [esi + 0x60]
add eax, 4
mov dword [esi + 0x2f4], eax
mov eax, dword [esi]
mov dword [eax], 0x1e55db97
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x74026ddb
jmp 0x4196f8
mov eax, 0xbb456df0
test byte [esi + 0x53], 1
jne 0x41843a
mov eax, 0xff28b68f
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, 0x7fe2e2df
cmp dword [esi + 0x98], 0
je 0x418477
mov eax, 0x17e5c807
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0x2464e03a
jmp 0x4196f8
mov al, byte [esi + 0x20]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
neg al
cli
scasb al, byte es:[edi]
sar ebx, cl
add eax, 0xbe3d03e6
mov al, byte es:[esi + 0x38]
mov byte [esi + 0x1b8], al
mov byte [esi + 0x6c], 0x55
mov byte [esi + 0x6d], 0xc1
mov eax, 2
mov byte [esi + eax + 0x6c], 0
add eax, 1
cmp eax, 6
jne 0x41869e
xor eax, eax
cmp eax, 6
jae 0x4186f4
movzx edi, byte [esi + eax + 0x6c]
mov edx, eax
add edx, 0x93cd0e30
mov ecx, edi
xor ecx, 0xffffffff
and edx, ecx
mov ecx, 0xcf
sub ecx, eax
and ecx, edi
or ecx, edx
mov edx, ecx
add edx, 0xf
mov edi, ecx
and edi, 1
xor edi, 1
and ecx, 1
xor ecx, 1
or edi, ecx
or edx, 1
add edx, edi
mov byte [esi + eax + 0x6c], dl
add eax, 1
jmp 0x4186ad
mov eax, dword [esi + 8]
lea ecx, [esi + 0x6c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov edi, eax
mov al, byte [esi + 0x34]
mov byte [esi + 0x1c0], al
mov byte [esi + 0xc], 0x76
mov byte [esi + 0xd], 0x67
mov byte [esi + 0xe], 0x9a
mov eax, 3
mov byte [esi + eax + 0xc], 0
add eax, 1
cmp eax, 4
jne 0x418728
xor eax, eax
cmp eax, 4
jae 0x41877f
movzx edx, byte [esi + eax + 0xc]
mov ebx, eax
and ebx, 0xc0acb325
xor ebx, 0xc0acb325
mov ecx, eax
and ecx, 0x3f534cda
sub ecx, ebx
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0xb8
add ecx, edx
mov byte [esi + eax + 0xc], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x418737
mov eax, dword [esi + 8]
lea ecx, [esi + 0xc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004019e0
fstp st(0)
add esp, 8
mov al, byte [esi + 0x30]
mov byte [esi + 0x1c8], al
mov byte [esi + 0x1c], 0xad
mov byte [esi + 0x1d], 0xc9
mov eax, 2
mov byte [esi + eax + 0x1c], 0
add eax, 1
cmp eax, 4
jne 0x4187af
xor eax, eax
cmp eax, 4
jae 0x4187f7
movzx ecx, byte [esi + eax + 0x1c]
mov edx, eax
add edx, 0xb51ccc52
xor edx, ecx
mov ecx, edx
add ecx, 0x76700265
mov ebx, ecx
shl ebx, 1
and ebx, 2
and edx, 1
and ecx, 0xfe
or ecx, edx
add ecx, ebx
mov byte [esi + eax + 0x1c], cl
add eax, 1
jmp 0x4187be
mov eax, dword [esi + 8]
lea ecx, [esi + 0x1c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004019e0
fstp st(0)
add esp, 8
lea eax, [esi + 0x438]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
call fcn.0040b3e0
add esp, 0x10
lea eax, [esi + 0x438]
lea ecx, [esi + 4]
lea edx, [esi + 0xa0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040bb20
add esp, 0xc
mov eax, dword [esi]
mov dword [eax], 0x41ad7bac
jmp 0x4196f8
mov bh, 0x3e
mov bl, 0xbf
or ebp, 0xffffffc4
stosb byte es:[edi], al
sub ebx, edi
cmp dl, dh
mov eax, dword [esi]
mov dword [eax], 0x4c281e0f
jmp 0x4196f8
sbb dword [ebx + 0x67], eax
sub cl, byte [ebx + 0x2000c706]
fdiv qword [eax - 0x38]
jmp 0x4196f8
sub eax, 0x22eb8dde
xor dword [edx + 0x43], 0xffffff8b
xchg byte [eax - 0x75000000], ah
dec esi
add al, 0x8b
push esi
sub byte [ebx - 0x7c00ceee], cl
in al, dx
adc byte [ecx + 0x4c892414], cl
and al, 4
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00440b90
add esp, 0x10
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0x390], eax
mov al, byte [esi + 0x15c]
mov byte [esi + 0x240], al
mov byte [esi + 0x160], 0x25
mov byte [esi + 0x161], 0x2a
mov byte [esi + 0x162], 0x2b
mov byte [esi + 0x163], 0x28
mov eax, 4
mov byte [esi + eax + 0x160], 0
add eax, 1
cmp eax, 6
jne 0x418a6e
xor edx, edx
cmp edx, 6
jae 0x418b1b
movzx edi, byte [esi + edx + 0x160]
mov ecx, edi
and ecx, 0x32
xor ecx, 0x32
mov eax, edi
and eax, 0x32
xor eax, 0xbe5b1932
or ecx, eax
and edi, 0xcd
mov dword [esi + 0x328], edi
mov ebx, 0x853dec88
sub ebx, edx
and ebx, 0xbe5b1932
mov edi, 0x53dec88
sub edi, edx
mov eax, edi
and eax, 0x41a4e6cd
or ecx, dword [esi + 0x328]
or eax, ebx
and edi, 0x41a4e6cd
or edi, ebx
xor edi, 0x41a4e6cd
xor eax, 0x41a4e6cd
and edi, eax
xor ecx, edi
mov eax, 0x7f
sub eax, ecx
and eax, 0xd3
and ecx, 0x2c
sub ecx, eax
mov byte [esi + edx + 0x160], cl
add edx, 0xebf9f5e7
mov eax, edx
and eax, 0xa
or edx, 0x14060a1a
add edx, eax
jmp 0x418a80
mov eax, dword [esi + 0x160]
mov dword [esi + 0x364], eax
xor edi, edi
mov eax, 2
cmp edi, dword [0x44cff0]
jb 0x418b38
jmp 0x418b9c
mov ecx, dword [0x44cff4]
cmp dword [ecx + edi*8], 0x1b6183f2
sete bl
xor eax, eax
test bl, 1
jne 0x418b51
jmp 0x418b90
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, dword [esi + 0x364]
je 0x418b90
mov eax, dword [0x44cff8]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov eax, dword [esi + 0x390]
mov dword [esp + 0xc], eax
call fcn.0043def0
add esp, 0x10
mov eax, 1
test bl, 1
je 0x418b97
jmp 0x418b9c
add edi, 1
jmp 0x418b29
cmp eax, 2
jne 0x418ba1
mov eax, dword [esi]
mov dword [eax], 0xbd5d9a87
jmp 0x4196f8
mov eax, dword [esi]
mov dword [eax], 0xf5443bd5
jmp 0x4196f8
adc byte [ecx + 0x11ad1d8f], dl
adc dword [eax - 0xa], 0xffffff90
sbb byte [eax - 0x3c], dl
nop
xchg ebx, eax
mov ecx, 0xc7068b
dec ecx
sahf
daa
jmp 0x4196f8
pop dword [edi + 0x179e6e54]
jb 0x418cb2
mov ecx, dword [esi + 0x2b0]
mov eax, dword [esi + 0x58]
mov cl, byte [ecx]
mov byte [esi + 0x1f8], cl
mov byte [eax], 0xd2
mov byte [eax + 1], 0xfb
mov byte [eax + 2], 0xfa
mov byte [eax + 3], 0xf9
mov ecx, 4
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x418c84
mov eax, dword [esi + 0x58]
mov dword [esi + 0xb8], eax
xor eax, eax
cmp eax, 5
jae 0x418cf8
mov ecx, dword [esi + 0xb8]
movzx ecx, byte [ecx + eax]
mov edx, eax
add edx, 0xdf9a62b
xor edx, ecx
mov ecx, edx
add ecx, 0xe5fcf368
mov edi, ecx
shl edi, 1
and edi, 0x743f8250
xor ecx, 0xba1fc128
add ecx, edi
add ecx, 0x1a030c98
and edx, 1
mov edi, ecx
and edi, 0xfe
mov ebx, ecx
xor ebx, 1
add ecx, ebx
add ecx, edx
sub ecx, edi
mov edx, dword [esi + 0xb8]
mov byte [edx + eax], cl
add eax, 1
jmp 0x418c9b
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x2b4]
mov eax, dword [esi + 0x54]
mov cl, byte [ecx]
mov byte [esi + 0x200], cl
mov byte [eax], 0x4c
mov byte [eax + 1], 0xff
mov byte [eax + 2], 0x4f
mov byte [eax + 3], 0xf1
mov byte [eax + 4], 0x79
mov byte [eax + 5], 0xf3
mov byte [eax + 6], 0x55
mov byte [eax + 7], 0xf5
mov byte [eax + 8], 0x46
mov byte [eax + 9], 0xf7
mov byte [eax + 0xa], 0x43
mov byte [eax + 0xb], 0xc9
mov byte [eax + 0xc], 0x70
mov byte [eax + 0xd], 0xcb
mov byte [eax + 0xe], 0x6d
mov byte [eax + 0xf], 0xcd
mov byte [eax + 0x10], 0x70
mov byte [eax + 0x11], 0xcf
mov byte [eax + 0x12], 0x72
mov byte [eax + 0x13], 0xc1
mov byte [eax + 0x14], 0xa0
mov byte [eax + 0x15], 0xc3
mov byte [eax + 0x16], 0xbd
mov byte [eax + 0x17], 0xc5
mov byte [eax + 0x18], 0x63
mov byte [eax + 0x19], 0xc7
mov byte [eax + 0x1a], 0x4e
mov byte [eax + 0x1b], 0xd9
mov byte [eax + 0x1c], 0x7f
mov byte [eax + 0x1d], 0xdb
mov byte [eax + 0x1e], 0x7f
mov byte [eax + 0x1f], 0xdd
mov byte [eax + 0x20], 0xbc
mov byte [eax + 0x21], 0xdf
mov byte [eax + 0x22], 0x7c
mov byte [eax + 0x23], 0xd1
mov byte [eax + 0x24], 0x5b
mov byte [eax + 0x25], 0xd3
mov byte [eax + 0x26], 0x62
mov byte [eax + 0x27], 0xd5
mov byte [eax + 0x28], 0x77
mov byte [eax + 0x29], 0xd7
mov byte [eax + 0x2a], 0x63
mov byte [eax + 0x2b], 0x29
mov byte [eax + 0x2c], 0x9d
mov byte [eax + 0x2d], 0x2b
mov byte [eax + 0x2e], 0x4a
mov byte [eax + 0x2f], 0x2d
mov byte [eax + 0x30], 0x53
mov byte [eax + 0x31], 0x2f
mov byte [eax + 0x32], 0x88
mov byte [eax + 0x33], 0x21
mov byte [eax + 0x34], 0x40
mov byte [eax + 0x35], 0x23
mov byte [eax + 0x36], 0x40
mov byte [eax + 0x37], 0x25
mov byte [eax + 0x38], 0x24
mov byte [eax + 0x39], 0x27
mov ecx, 0x3a
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x3e
jne 0x418df8
mov edx, dword [esi + 0x54]
xor ecx, ecx
cmp ecx, 0x3e
jae 0x418e6c
movzx eax, byte [edx + ecx]
mov ebx, ecx
add ebx, 0xdf11f655
xor ebx, eax
mov eax, ebx
and eax, 0xa4a63054
mov dword [esi + 0x258], edx
mov edx, ebx
and edx, 0xa4a63054
mov edi, ebx
and edi, 2
xor edi, 2
imul edi, edx
mov edx, ebx
and edx, 2
or eax, 2
imul eax, edx
add eax, edi
mov edx, ebx
xor edx, 0x56
add edx, eax
and ebx, 1
or edx, 1
add edx, ebx
mov eax, dword [esi + 0x258]
mov byte [eax + ecx], dl
mov edx, dword [esi + 0x258]
add ecx, 1
jmp 0x418e09
mov eax, dword [esi + 0x114]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0040a6a0
add esp, 8
mov ecx, dword [esi + 0x14]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a6a0
mov dword [esp], eax
mov eax, dword [esi + 0xb8]
mov dword [esp + 4], eax
call fcn.0040a6a0
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0x4a012f92
jmp 0x4196f8
shr dword [edx], 1
pop dword [edx + 0x40]
shl dword [esi], cl
jmp 0x4190fe
add byte [eax + 0x22886], cl
add dh, al
xchg byte [eax], dl
add al, byte [eax]
add byte [0x21186c6], ah
add byte [eax], al
sub al, dh
xchg byte [edx], dl
add al, byte [eax]
add byte [ebx], ch
mov byte [esi + 0x213], 0x28
mov eax, 4
mov byte [esi + eax + 0x210], 0
add eax, 1
cmp eax, 6
jne 0x419126
xor edx, edx
cmp edx, 6
jae 0x4191d3
movzx edi, byte [esi + edx + 0x210]
mov ecx, edi
and ecx, 0x32
xor ecx, 0x32
mov eax, edi
and eax, 0x32
xor eax, 0xbe5b1932
or ecx, eax
and edi, 0xcd
mov dword [esi + 0x330], edi
mov ebx, 0x853dec88
sub ebx, edx
and ebx, 0xbe5b1932
mov edi, 0x53dec88
sub edi, edx
mov eax, edi
and eax, 0x41a4e6cd
or ecx, dword [esi + 0x330]
or eax, ebx
and edi, 0x41a4e6cd
or edi, ebx
xor edi, 0x41a4e6cd
xor eax, 0x41a4e6cd
and edi, eax
xor ecx, edi
mov eax, 0x7f
sub eax, ecx
and eax, 0xd3
and ecx, 0x2c
sub ecx, eax
mov byte [esi + edx + 0x210], cl
add edx, 0xebf9f5e7
mov eax, edx
and eax, 0xa
or edx, 0x14060a1a
add edx, eax
jmp 0x419138
mov edi, dword [esi + 0x210]
xor ebx, ebx
cmp ebx, dword [0x44cff0]
jb 0x4191e5
jmp 0x419253
mov eax, dword [0x44cff4]
cmp dword [eax + ebx*8], 0x4c697c35
sete cl
test cl, 1
jne 0x4191fb
jmp 0x419247
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x419247
mov byte [esi + 0x45], cl
mov ecx, dword [0x44cff8]
xor edx, edx
sub esp, 0x18
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov eax, dword [esi + 0x3b0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0x3a8]
mov dword [esp + 0x14], eax
call fcn.0043def0
mov cl, byte [esi + 0x45]
add esp, 0x18
test cl, 1
je 0x41924e
jmp 0x419253
add ebx, 1
jmp 0x4191db
mov eax, dword [esi + 0x68]
mov dword [esi + 0x398], eax
mov al, byte [esi + 0x144]
mov byte [esi + 0x248], al
mov byte [esi + 0x148], 0x25
mov byte [esi + 0x149], 0x2a
mov byte [esi + 0x14a], 0x2b
mov byte [esi + 0x14b], 0x28
mov eax, 4
mov byte [esi + eax + 0x148], 0
add eax, 1
cmp eax, 6
jne 0x419289
xor edx, edx
cmp edx, 6
jae 0x419336
movzx edi, byte [esi + edx + 0x148]
mov ecx, edi
and ecx, 0x32
xor ecx, 0x32
mov eax, edi
and eax, 0x32
xor eax, 0xbe5b1932
or ecx, eax
and edi, 0xcd
mov dword [esi + 0x334], edi
mov ebx, 0x853dec88
sub ebx, edx
and ebx, 0xbe5b1932
mov edi, 0x53dec88
sub edi, edx
mov eax, edi
and eax, 0x41a4e6cd
or ecx, dword [esi + 0x334]
or eax, ebx
and edi, 0x41a4e6cd
or edi, ebx
xor edi, 0x41a4e6cd
xor eax, 0x41a4e6cd
and edi, eax
xor ecx, edi
mov eax, 0x7f
sub eax, ecx
and eax, 0xd3
and ecx, 0x2c
sub ecx, eax
mov byte [esi + edx + 0x148], cl
add edx, 0xebf9f5e7
mov eax, edx
and eax, 0xa
or edx, 0x14060a1a
add edx, eax
jmp 0x41929b
mov edx, dword [esi + 0x148]
xor edi, edi
mov eax, 2
cmp edi, dword [0x44cff0]
jb 0x41934d
jmp 0x4193b9
mov ecx, dword [0x44cff4]
cmp dword [ecx + edi*8], 0x1b6183f2
sete bl
xor eax, eax
test bl, 1
jne 0x419366
jmp 0x4193ad
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, edx
je 0x4193ad
mov eax, dword [0x44cff8]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov eax, dword [esi + 0x398]
mov dword [esp + 0xc], eax
mov dword [esi + 0x36c], edx
call fcn.0043def0
mov edx, dword [esi + 0x36c]
add esp, 0x10
mov eax, 1
test bl, 1
je 0x4193b4
jmp 0x4193b9
add edi, 1
jmp 0x41933e
cmp eax, 2
jne 0x4193be
mov eax, dword [esi]
mov dword [eax], 0x1ceefa31
jmp 0x4196f8
in eax, dx
invalid
jmp 0x414863