Function at 0x414110
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x968
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004019c0
mov dword [esp + 0x10c], eax
mov dword [esp + 0x324], 0xa5e5d3d1
lea eax, [esp + 0x324]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x324]
mov ecx, eax
sub ecx, 0x835155cb
je 0x416496
jmp 0x41415e
mov ecx, eax
sub ecx, 0x882eec6d
je 0x414d17
jmp 0x41416e
mov ecx, eax
sub ecx, 0x8a67c037
je 0x417d22
jmp 0x41417e
mov ecx, eax
sub ecx, 0x8e9aed0a
je 0x4152fe
jmp 0x41418e
mov ecx, eax
sub ecx, 0x8ef7c0e0
je 0x4175d0
jmp 0x41419e
mov ecx, eax
sub ecx, 0x8f150ad0
je 0x417334
jmp 0x4141ae
mov ecx, eax
sub ecx, 0x8fb02907
je 0x415d50
jmp 0x4141be
mov ecx, eax
sub ecx, 0x91414210
je 0x41647a
jmp 0x4141ce
mov ecx, eax
sub ecx, 0x9166f18d
je 0x4181f2
jmp 0x4141de
mov ecx, eax
sub ecx, 0x919c17b1
je 0x415d9d
jmp 0x4141ee
mov ecx, eax
sub ecx, 0x9299e92e
je 0x41687f
jmp 0x4141fe
mov ecx, eax
sub ecx, 0x945ca603
je 0x415719
jmp 0x41420e
mov ecx, eax
sub ecx, 0x97b3d202
je 0x41557e
jmp 0x41421e
mov ecx, eax
sub ecx, 0x9880150b
je 0x41612b
jmp 0x41422e
mov ecx, eax
sub ecx, 0x99189d5a
je 0x4166dc
jmp 0x41423e
mov ecx, eax
sub ecx, 0x99cb6fde
je 0x414d61
jmp 0x41424e
mov ecx, eax
sub ecx, 0x9af21cc5
je 0x41806a
jmp 0x41425e
mov ecx, eax
sub ecx, 0x9b90d317
je 0x416dfc
jmp 0x41426e
mov ecx, eax
sub ecx, 0x9c8cbe5e
je 0x4152ef
jmp 0x41427e
mov ecx, eax
sub ecx, 0x9dd33f06
je 0x4182e5
jmp 0x41428e
mov ecx, eax
sub ecx, 0xa0c7fb02
je 0x414f29
jmp 0x41429e
mov ecx, eax
sub ecx, 0xa11aca1a
je 0x41501a
jmp 0x4142ae
mov ecx, eax
sub ecx, 0xa288df7f
je 0x414d84
jmp 0x4142be
mov ecx, eax
sub ecx, 0xa3ba0142
je 0x4169dd
jmp 0x4142ce
mov ecx, eax
sub ecx, 0xa5e5d3d1
je 0x414cac
jmp 0x4142de
mov ecx, eax
sub ecx, 0xa85a5fcc
je 0x415349
jmp 0x4142ee
mov ecx, eax
sub ecx, 0xaa54cbf0
je 0x4163b4
jmp 0x4142fe
mov ecx, eax
sub ecx, 0xac4c2df0
je 0x417657
jmp 0x41430e
mov ecx, eax
sub ecx, 0xaff89b3a
je 0x415e7f
jmp 0x41431e
mov ecx, eax
sub ecx, 0xb00535d2
je 0x416430
jmp 0x41432e
mov ecx, eax
sub ecx, 0xb14de7e5
je 0x415903
jmp 0x41433e
mov ecx, eax
sub ecx, 0xb2450209
je 0x4156dd
jmp 0x41434e
mov ecx, eax
sub ecx, 0xb30b18b3
je 0x4155a8
jmp 0x41435e
mov ecx, eax
sub ecx, 0xb4bd00fc
je 0x415e8e
jmp 0x41436e
mov ecx, eax
sub ecx, 0xb5ebd368
je 0x4156ce
jmp 0x41437e
mov ecx, eax
sub ecx, 0xb6492695
je 0x4160c6
jmp 0x41438e
mov ecx, eax
sub ecx, 0xb739955e
je 0x41643f
jmp 0x41439e
mov ecx, eax
sub ecx, 0xb9b2b2cc
je 0x4175c1
jmp 0x4143ae
mov ecx, eax
sub ecx, 0xba2b516d
je 0x415615
jmp 0x4143be
mov ecx, eax
sub ecx, 0xbd37ccb3
je 0x4152c4
jmp 0x4143ce
mov ecx, eax
sub ecx, 0xbdb6d454
je 0x4175a3
jmp 0x4143de
mov ecx, eax
sub ecx, 0xbdfba8a7
je 0x4182d2
jmp 0x4143ee
mov ecx, eax
sub ecx, 0xbe6a8f58
je 0x416213
jmp 0x4143fe
mov ecx, eax
sub ecx, 0xbe84a7f1
je 0x415c92
jmp 0x41440e
mov ecx, eax
sub ecx, 0xbee00379
je 0x418095
jmp 0x41441e
mov ecx, eax
sub ecx, 0xc2309060
je 0x415f95
jmp 0x41442e
mov ecx, eax
sub ecx, 0xc2fa1f36
je 0x417970
jmp 0x41443e
mov ecx, eax
sub ecx, 0xc4bb1091
je 0x4155b7
jmp 0x41444e
mov ecx, eax
sub ecx, 0xc5fd66ce
je 0x41558d
jmp 0x41445e
mov ecx, eax
sub ecx, 0xc63464ad
je 0x4182a0
jmp 0x41446e
mov ecx, eax
sub ecx, 0xc71bf4a5
je 0x41531e
jmp 0x41447e
mov ecx, eax
sub ecx, 0xc8564b3b
je 0x416dc3
jmp 0x41448e
mov ecx, eax
sub ecx, 0xc8773c26
je 0x415fc0
jmp 0x41449e
mov ecx, eax
sub ecx, 0xc95cde66
je 0x415949
jmp 0x4144ae
mov ecx, eax
sub ecx, 0xca1205c4
je 0x414cfd
jmp 0x4144be
mov ecx, eax
sub ecx, 0xcd3187f2
je 0x415c61
jmp 0x4144ce
mov ecx, eax
sub ecx, 0xd2040dbd
je 0x417a03
jmp 0x4144de
mov ecx, eax
sub ecx, 0xd358d911
je 0x4153e9
jmp 0x4144ee
mov ecx, eax
sub ecx, 0xd3eb7be2
je 0x4180e9
jmp 0x4144fe
mov ecx, eax
sub ecx, 0xd4fea37e
je 0x4155c6
jmp 0x41450e
mov ecx, eax
sub ecx, 0xd542612d
je 0x41688e
jmp 0x41451e
mov ecx, eax
sub ecx, 0xd8af8a8f
je 0x41810b
jmp 0x41452e
mov ecx, eax
sub ecx, 0xdc200d5c
je 0x416ed3
jmp 0x41453e
mov ecx, eax
sub ecx, 0xdf56d890
je 0x416e0b
jmp 0x41454e
mov ecx, eax
sub ecx, 0xdff95c6e
je 0x4158da
mov eax, 0x7e0f6379
cmp dword [esp + 0x10c], 0
je 0x414cc0
mov eax, 0xf2ec3d44
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x882eec6d
mov dword [esp + 0x328], 0
jmp 0x4185ae
mov eax, dword [esp + 0x328]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.00401ba0
mov ecx, 0xa288df7f
cmp dword [esp + 0x110], eax
jb 0x414d47
mov ecx, 0x6cee5361
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x919a867
jmp 0x4185ae
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401bb0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x1a0]
mov byte [esp + 0x1ec], al
mov byte [esp + 0x3b4], 7
mov byte [esp + 0x3b5], 0x8b
mov eax, 2
mov byte [esp + eax + 0x3b4], 0
add eax, 1
cmp eax, 8
jne 0x414dc5
xor eax, eax
cmp eax, 8
jae 0x414e19
movzx edx, byte [esp + eax + 0x3b4]
mov ecx, eax
add ecx, 0x99483fe3
xor ecx, edx
mov esi, ecx
and esi, 1
mov edx, 1
sub edx, ecx
and edx, 1
xor edx, 1
or edx, esi
or ecx, 1
add ecx, 0x90
add ecx, edx
mov byte [esp + eax + 0x3b4], cl
add eax, 1
jmp 0x414dd7
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x3b4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b40
mov ecx, 0x3dea5477
cmp eax, 0
jne 0x414e47
mov ecx, 0xa11aca1a
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x4185ae
mov al, byte [esp + 0x198]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x3ac], 0xc5
mov byte [esp + 0x3ad], 0x61
mov eax, 2
mov byte [esp + eax + 0x3ac], 0
add eax, 1
cmp eax, 8
jne 0x414f4c
xor eax, eax
cmp eax, 8
jae 0x414fc6
movzx edx, byte [esp + eax + 0x3ac]
mov ecx, eax
add ecx, 0xcb811598
xor ecx, edx
mov edx, ecx
add edx, 0x67a9408
mov esi, 0xf9856bf8
sub esi, ecx
or esi, 1
add esi, edx
mov edi, esi
and edi, 0xfd
mov edx, esi
and edx, 2
xor edx, 2
imul edx, edi
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
add edx, esi
mov esi, ecx
shl esi, 1
and esi, 2
xor esi, 2
sub ecx, esi
add ecx, 8
add ecx, edx
mov byte [esp + eax + 0x3ac], cl
add eax, 1
jmp 0x414f5e
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x3ac]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b40
cmp eax, 0
setne al
mov cl, al
xor cl, 0xff
xor al, 0xff
or cl, al
and cl, 0xff
xor cl, 0xff
xor cl, 0xff
or cl, 0
mov eax, 0x65d52141
test cl, 1
jne 0x41500f
mov eax, 0x20067ae9
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x65d52141
jmp 0x4185ae
mov eax, 0x9c8cbe5e
test byte [esp + 0x6c], 1
jne 0x4152d5
mov eax, 0x2015f8dd
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x8e9aed0a
jmp 0x4185ae
cmp dword [esp + 0x368], 0
sete al
and al, 1
mov byte [esp + 0x45], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc71bf4a5
jmp 0x4185ae
mov eax, 0x390a106a
test byte [esp + 0x45], 1
jne 0x41532f
mov eax, 0x1e33cb48
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov al, byte [esp + 0x54]
mov byte [esp + 0x214], al
mov byte [esp + 0x40], 0x40
mov byte [esp + 0x41], 0x31
mov eax, 2
mov byte [esp + eax + 0x40], 0
add eax, 1
cmp eax, 4
jne 0x415363
xor eax, eax
cmp eax, 4
jae 0x4153ae
movzx ecx, byte [esp + eax + 0x40]
mov edx, 0x4b
sub edx, eax
mov esi, 0x4b
sub esi, eax
and edx, esi
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
mov edx, 0x4b
sub edx, eax
xor ecx, 0xffffffff
and edx, ecx
or edx, esi
mov cl, 0x7b
sub cl, dl
mov byte [esp + eax + 0x40], cl
add eax, 1
jmp 0x415372
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
mov dword [esp + 0x114], eax
cmp dword [esp + 0x114], 0
setne al
and al, 1
mov byte [esp + 0x6d], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd358d911
jmp 0x4185ae
mov eax, 0x207da83d
test byte [esp + 0x6d], 1
jne 0x4153fa
mov eax, 0x29a65b5c
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc5fd66ce
jmp 0x4185ae
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004083f0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb30b18b3
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc4bb1091
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd4fea37e
jmp 0x4185ae
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043bda0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x28e2549b
jmp 0x4185ae
mov eax, dword [esp + 0x190]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x6b685b1
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb2450209
jmp 0x4185ae
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.004083f0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x7614721c
jmp 0x4185ae
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004083f0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4f87ae58
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x77d862fc
jmp 0x4185ae
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x374], eax
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x50f67bd
jmp 0x4185ae
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043bda0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb6492695
mov dword [esp + 0xe8], 4
mov dword [esp + 0xe4], 0
jmp 0x4185ae
mov eax, dword [esp + 0x168]
mov ecx, eax
and ecx, 4
or eax, 4
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415cb9
mov ecx, eax
mov dword [esp], ecx
call fcn.004083e0
mov dword [esp + 0x4c], eax
mov eax, dword [0x44cda8]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x378]
xor edi, edi
lea edi, [esp + 0x4c4]
lea ebx, [esp + 0x168]
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call eax
sub esp, 0x18
mov ecx, 0xf4dd25c8
cmp eax, 0
jge 0x415d1b
mov ecx, 0xe3247ccd
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x4185ae
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043bda0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb6492695
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe8], 4
mov dword [esp + 0xe4], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3ee827ad
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x742f745c
jmp 0x4185ae
mov eax, 0x7fe16efb
cmp dword [esp + 0x38], 1
je 0x415e9f
mov eax, 0x4583bac7
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x742f745c
jmp 0x4185ae
mov al, byte [esp + 0x154]
mov byte [esp + 0x230], al
mov byte [esp + 0x2f0], 0xda
mov byte [esp + 0x2f1], 0x89
mov byte [esp + 0x2f2], 0x26
mov byte [esp + 0x2f3], 0xb7
mov byte [esp + 0x2f4], 0x2b
mov byte [esp + 0x2f5], 0xb5
mov byte [esp + 0x2f6], 0xe3
mov byte [esp + 0x2f7], 0xb3
mov byte [esp + 0x2f8], 0xb0
mov byte [esp + 0x2f9], 0xb1
mov eax, 0xa
mov byte [esp + eax + 0x2f0], 0
add eax, 1
cmp eax, 0xe
jne 0x416023
xor eax, eax
cmp eax, 0xe
jae 0x41607b
movzx edx, byte [esp + eax + 0x2f0]
mov ecx, eax
add ecx, 0x9e
mov esi, 0x61
sub esi, eax
and esi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, esi
add cl, 0xea
mov byte [esp + eax + 0x2f0], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
shl edx, 1
and edx, 2
add edx, 0xffffffff
sub eax, edx
add eax, ecx
jmp 0x416035
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x2f0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004189b0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x742f745c
jmp 0x4185ae
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x37c], eax
mov dword [esp + 0x380], ecx
mov eax, 0x9880150b
cmp dword [esp + 0x380], 0
je 0x4160f6
mov eax, 0x6494f7fa
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x37c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
mov dword [esp + 0x344], edx
jmp 0x4185ae
mov eax, dword [esp + 0x344]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x6494f7fa
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xec], eax
jmp 0x4185ae
mov eax, 0x67e47e7e
test byte [esp + 0x70], 1
jne 0x416224
mov eax, 0xaa54cbf0
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x348], eax
jmp 0x4185ae
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xe7b77e5b
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb739955e
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3e119822
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x364], 4
mov dword [esp + 0x360], ecx
mov dword [esp + 0x35c], eax
mov dword [esp + 0x358], 0
jmp 0x4185ae
mov eax, 0x835155cb
cmp dword [esp + 0x38], 1
je 0x41648b
mov eax, 0xef2c7085
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov al, byte [esp + 0x150]
mov byte [esp + 0x234], al
mov byte [esp + 0x2e8], 0x6a
mov byte [esp + 0x2e9], 0x61
mov byte [esp + 0x2ea], 0xce
mov eax, 3
mov byte [esp + eax + 0x2e8], 0
add eax, 1
cmp eax, 6
jne 0x4164c1
xor eax, eax
cmp eax, 6
jae 0x41650d
movzx ecx, byte [esp + eax + 0x2e8]
mov esi, eax
add esi, 0xd76632d
mov edx, ecx
xor edx, 0xffffffff
mov edi, esi
and edi, edx
shl esi, 1
mov edx, eax
add edx, 0x2c
sub edx, esi
and edx, ecx
or edx, edi
add dl, 0x1f
mov byte [esp + eax + 0x2e8], dl
add eax, 1
jmp 0x4164d3
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x2e8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
mov dword [esp + 0x120], eax
mov al, byte [esp + 0x14c]
mov byte [esp + 0x238], al
mov byte [esp + 0x2e0], 0xd9
mov byte [esp + 0x2e1], 0xf7
mov byte [esp + 0x2e2], 0x76
mov eax, 3
mov byte [esp + eax + 0x2e0], 0
add eax, 1
cmp eax, 5
jne 0x416556
xor eax, eax
cmp eax, 5
jae 0x4165b8
movzx esi, byte [esp + eax + 0x2e0]
mov ecx, 0xe155f1e9
sub ecx, eax
or ecx, esi
mov edx, 0xe9
sub edx, eax
and edx, esi
xor ecx, 0xffffffff
or edx, ecx
mov ecx, edx
and ecx, 1
xor ecx, 1
mov esi, 0x6e
sub esi, edx
mov edi, 0x6e
sub edi, edx
or esi, edi
xor esi, 0xffffffff
or esi, 1
add ecx, esi
mov byte [esp + eax + 0x2e0], cl
add eax, 1
jmp 0x416568
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x2e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00418a00
mov dword [esp + 0x3f0], eax
cmp dword [esp + 0x120], 0
setne al
and al, 1
mov byte [esp + 0x46], al
mov eax, 0xf55f4b99
test byte [esp + 0x46], 1
jne 0x41660b
mov eax, 0x7e17a653
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [esp + 0x34c], 0
jmp 0x4185ae
mov eax, dword [esp + 0x350]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3f0]
xor ecx, ecx
sub ecx, eax
mov eax, 9
sub eax, ecx
add eax, dword [esp + 0x388]
add eax, dword [esp + 0x38c]
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416723
mov ecx, eax
mov dword [esp], ecx
call fcn.004083e0
mov dword [esp + 0x390], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x23c], al
mov byte [esp + 0x2c8], 0x12
mov byte [esp + 0x2c9], 0xeb
mov byte [esp + 0x2ca], 0x11
mov byte [esp + 0x2cb], 0xe9
mov byte [esp + 0x2cc], 0x1a
mov byte [esp + 0x2cd], 0xef
mov byte [esp + 0x2ce], 0xa
mov byte [esp + 0x2cf], 0xed
mov byte [esp + 0x2d0], 0
mov byte [esp + 0x2d1], 0xf3
mov byte [esp + 0x2d2], 0x1e
mov byte [esp + 0x2d3], 0xf1
mov byte [esp + 0x2d4], 0xc5
mov byte [esp + 0x2d5], 0xf7
mov byte [esp + 0x2d6], 0xc0
mov byte [esp + 0x2d7], 0xf5
mov byte [esp + 0x2d8], 0xf4
mov byte [esp + 0x2d9], 0xfb
mov eax, 0x12
mov byte [esp + eax + 0x2c8], 0
add eax, 1
cmp eax, 0x15
jne 0x4167d5
xor eax, eax
cmp eax, 0x15
jae 0x416815
mov dl, byte [esp + eax + 0x2c8]
mov esi, eax
shl esi, 1
and esi, 0x4e
mov ecx, eax
xor ecx, 0xa7
add ecx, esi
xor cl, dl
add cl, 0xbd
mov byte [esp + eax + 0x2c8], cl
add eax, 1
jmp 0x4167e7
mov eax, dword [esp + 0x390]
lea ecx, [esp + 0x2c8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409f80
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov eax, dword [esp + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409f80
mov ecx, eax
add ecx, 2
mov dword [esp + 0x128], ecx
mov word [eax], 0x22
mov eax, 0xf1293865
cmp dword [esp + 0x3c], 0
je 0x416874
mov eax, 0x9299e92e
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd542612d
jmp 0x4185ae
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004083f0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x1614a932
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xf367d527
jmp 0x4185ae
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], ecx
mov dword [esp + 0x408], edx
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x9b90d317
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xdf56d890
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3e119822
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0x404]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x364], 0
mov dword [esp + 0x360], eax
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x358], edx
jmp 0x4185ae
call fcn.00418a20
mov eax, dword [esp + 0x368]
xor eax, 1
mov ecx, dword [esp + 0x38]
xor ecx, 2
or eax, ecx
sete al
and al, 1
mov byte [esp + 0x72], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3dd51652
jmp 0x4185ae
mov eax, 0x8ef7c0e0
cmp dword [esp + 0xac], 2
jl 0x417348
mov eax, 0x6a2f2867
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x726887c3
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xe689fc1c
jmp 0x4185ae
mov eax, dword [0x44cda0]
mov dword [esp], eax
mov dword [esp + 4], 0x737de518
call fcn.004402e0
cmp eax, 0
setne cl
test cl, 1
jne 0x4175f2
jmp 0x4175f2
test cl, 1
jne 0x4175f9
xor eax, eax
mov ecx, dword [esp + 0x30]
xor edx, edx
lea edx, [0x4243a0]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call eax
sub esp, 0x18
mov dword [esp + 0x8c], eax
mov eax, 0xac4c2df0
cmp dword [esp + 0x8c], 0
jne 0x41764c
mov eax, 0x6e642893
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x35b6a63d
jmp 0x4185ae
mov eax, dword [0x44cda0]
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.004402e0
test eax, eax
setne cl
mov ecx, dword [esp + 0xa8]
xor edx, edx
lea edx, [esp + 0x43c]
lea esi, [esp + 0x41c]
mov dword [esp], 0
mov dword [esp + 4], ecx
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], esi
call eax
sub esp, 0x28
mov ecx, 0xd2040dbd
cmp eax, 0
jne 0x4179f8
mov ecx, 0x2a5c9199
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x4185ae
mov esi, dword [esp + 0x420]
mov al, byte [esp + 0x1bc]
mov byte [esp + 0x278], al
mov byte [esp + 0x1c0], 0x7b
mov byte [esp + 0x1c1], 0x7a
mov byte [esp + 0x1c2], 0x7d
mov byte [esp + 0x1c3], 0x7c
mov eax, 4
mov byte [esp + eax + 0x1c0], 0
add eax, 1
cmp eax, 7
jne 0x417a3d
xor eax, eax
cmp eax, 7
jae 0x417ab3
movzx edx, byte [esp + eax + 0x1c0]
mov ecx, 0x95
sub ecx, eax
mov edi, 0x95
sub edi, eax
and ecx, edi
mov edi, edx
xor edi, 0xffffffff
or ecx, edi
mov edi, eax
add edi, 0xad88646a
or edi, edx
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xda
xor ecx, 0x9c5609ed
mov edi, ecx
add edi, edx
and ecx, 1
xor edi, 0xffffffff
or edi, 1
sub ecx, edi
mov byte [esp + eax + 0x1c0], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x417a4f
mov edi, dword [esp + 0x1c0]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x44cdac]
jb 0x417acb
jmp 0x417b25
mov ecx, dword [0x44cdb0]
cmp dword [ecx + ebx*8], 0x1b6183f2
sete dl
xor eax, eax
mov byte [esp + 0x67], dl
test dl, 1
jne 0x417ae8
jmp 0x417b17
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x417b17
mov eax, dword [0x44cdb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043e5b0
mov eax, 1
test byte [esp + 0x67], 1
je 0x417b20
jmp 0x417b25
add ebx, 1
jmp 0x417abc
cmp eax, 2
jne 0x417b2a
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x1bf3968e
jmp 0x4185ae
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc228b5a
jmp 0x4185ae
inc ebx
inc esi
jmp [edi - 0x40]
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.004083f0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xb2450209
jmp 0x4185ae
inc esp
and al, 0x2c
mov dword [eax], 0xfc8a90db
jmp 0x4185ae
aas
loop 0x4180db
cmp eax, 0x2c24448b
mov dword [eax], 0x77d862fc
jmp 0x4185ae
mov eax, dword [0xa2b6fe30]
lodsb al, byte [esi]
fsubr dword [ecx]
dec esi
lcall 0x6da7, 0x504d02a2
lds esi, [ecx]
dec edi
lea ecx, [edx - 0x77afdbbc]
test byte [esp], ah
add al, byte [eax]
add dh, al
inc esp
and al, 0x74
sbb al, dh
inc esp
and al, 0x75
leave
mov byte [esp + 0x76], 0x6b
mov byte [esp + 0x77], 0xcf
mov byte [esp + 0x78], 0x44
mov byte [esp + 0x79], 0xcd
mov byte [esp + 0x7a], 0x67
mov byte [esp + 0x7b], 0xc3
mov byte [esp + 0x7c], 0xc0
mov byte [esp + 0x7d], 0xc1
mov eax, 0xa
mov byte [esp + eax + 0x74], 0
add eax, 1
cmp eax, 0xe
jne 0x418161
xor eax, eax
cmp eax, 0xe
jae 0x4181cf
movzx edx, byte [esp + eax + 0x74]
mov ecx, eax
add ecx, 0x32
mov esi, eax
add esi, 0x32
and ecx, esi
mov esi, eax
add esi, 0x32
mov edi, eax
add edi, 0x32
and esi, edi
or ecx, esi
and ecx, edx
mov esi, 0x329ba6cd
sub esi, eax
xor edx, 0xffffffff
and esi, edx
or ecx, esi
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add ecx, edx
mov esi, ecx
shl esi, 1
and esi, 0xa
xor ecx, 0xfd0a4205
mov edx, ecx
add edx, esi
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0x74], dl
add eax, 1
jmp 0x418170
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004189b0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3ee827ad
jmp 0x4185ae
nop
loope 0x41820f
push esp
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5f59e61a
jmp 0x4185ae
and al, 0x30
mov dword [esp], eax
call fcn.0043bda0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xe7b77e5b
jmp 0x4185ae
mov dl, 0x12
cwde
xchg ebx, eax
lds edx, [edx + ecx*8 - 0x5c]
mov esi, 0x8bced0fa
inc esp
and al, 0x2c
mov dword [eax], 0xdc200d5c
jmp 0x4185ae
sub eax, 0x8bd23ba2
inc esp
and al, 0x2c
mov dword [eax], 0xbdb6d454
jmp 0x4185ae
insd dword es:[edi], dx
andps xmm4, xmmword [edx + 0x3b546b50]
jae 0x418323
inc edx
int 0xfd
lodsd eax, dword [esi]
out 8, eax
mov dword [esp + 0x31c], 0xffffffff
mov dword [esp + 0x318], 0xdc3cba00
mov esi, dword [esp + 0x8c]
mov al, byte [esp + 0x24c]
mov byte [esp + 0x268], al
mov byte [esp + 0x250], 0x7b
mov byte [esp + 0x251], 0x7a
mov byte [esp + 0x252], 0x7d
mov byte [esp + 0x253], 0x7c
mov eax, 4
push eax
add al, byte [eax]
add byte [ebx - 0x3a], bh
test byte [ecx + edx*2], ah
add al, byte [eax]
add byte [edx - 0x3a], bh
test byte [edx + edx*2], ah
add al, byte [eax]
add byte [ebp - 0x3a], bh
test byte [ebx + edx*2], ah
add al, byte [eax]
add byte [eax + edi*4 + 4], bh
add byte [eax], al
add dh, al
test byte [eax + edx*2], al
add al, byte [eax]
add byte [eax], al
mov byte [esp + eax + 0x250], 0
add eax, 1
cmp eax, 7
jne 0x418345
xor eax, eax
cmp eax, 7
jae 0x4183bb
movzx edx, byte [esp + eax + 0x250]
mov ecx, 0x95
sub ecx, eax
mov edi, 0x95
sub edi, eax
and ecx, edi
mov edi, edx
xor edi, 0xffffffff
or ecx, edi
mov edi, eax
add edi, 0xad88646a
or edi, edx
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xda
xor ecx, 0x9c5609ed
mov edi, ecx
add edi, edx
and ecx, 1
xor edi, 0xffffffff
or edi, 1
sub ecx, edi
mov byte [esp + eax + 0x250], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x418357
mov edi, dword [esp + 0x250]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x44cdac]
jb 0x4183d3
jmp 0x41844a
mov ecx, dword [0x44cdb0]
cmp dword [ecx + ebx*8], 0x4c697c35
sete dl
xor eax, eax
test dl, 1
jne 0x4183ec
jmp 0x41843b
mov eax, dword [ecx + ebx*8 + 4]
cmp eax, edi
jne 0x4183fb
mov eax, 2
jmp 0x41843b
mov ecx, dword [0x44cdb4]
mov byte [esp + 0x6b], dl
xor edx, edx
lea edx, [esp + 0x318]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.0043e5b0
mov dl, byte [esp + 0x6b]
mov eax, 1
test dl, 1
je 0x418442
jmp 0x41844a
add ebx, 1
jmp 0x4183c4
cmp eax, 2
jne 0x41844f
mov esi, dword [esp + 0x8c]
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x280], al
mov byte [esp + 0x1a8], 0x7b
mov byte [esp + 0x1a9], 0x7a
mov byte [esp + 0x1aa], 0x7d
mov byte [esp + 0x1ab], 0x7c
mov eax, 4
mov byte [esp + eax + 0x1a8], 0
add eax, 1
cmp eax, 7
jne 0x418489
xor eax, eax
cmp eax, 7
jae 0x4184ff
movzx edx, byte [esp + eax + 0x1a8]
mov ecx, 0x95
sub ecx, eax
mov edi, 0x95
sub edi, eax
and ecx, edi
mov edi, edx
xor edi, 0xffffffff
or ecx, edi
mov edi, eax
add edi, 0xad88646a
or edi, edx
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xda
xor ecx, 0x9c5609ed
mov edi, ecx
add edi, edx
and ecx, 1
xor edi, 0xffffffff
or edi, 1
sub ecx, edi
mov byte [esp + eax + 0x1a8], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x41849b
mov edi, dword [esp + 0x1a8]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x44cdac]
jb 0x418517
jmp 0x418573
mov ecx, dword [0x44cdb0]
cmp dword [ecx + ebx*8], 0x1b6183f2
sete dl
xor eax, eax
test dl, 1
jne 0x418530
jmp 0x418567
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x418567
mov eax, dword [0x44cdb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
mov byte [esp + 0x69], dl
call fcn.0043e5b0
mov dl, byte [esp + 0x69]
mov eax, 1
test dl, 1
je 0x41856e
jmp 0x418573
add ebx, 1
jmp 0x418508
cmp eax, 2
jne 0x418578
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x35b6a63d
jmp 0x4185ae
jmp 0x414147