Function at 0x4137c0
Capabilities:
Authenticate hmac
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, 0x980
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004019a0
mov dword [esp + 0xe8], eax
mov dword [esp + 0x328], 0x641f091a
lea eax, [esp + 0x328]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x328]
mov ecx, eax
sub ecx, 0x850b4ff2
je 0x417e09
jmp 0x41380e
mov ecx, eax
sub ecx, 0x85a49d88
je 0x4174c2
jmp 0x41381e
mov ecx, eax
sub ecx, 0x874f0969
je 0x4174b3
jmp 0x41382e
mov ecx, eax
sub ecx, 0x877b5235
je 0x4161d9
jmp 0x41383e
mov ecx, eax
sub ecx, 0x881f82c2
je 0x417904
jmp 0x41384e
mov ecx, eax
sub ecx, 0x89bbbcb4
je 0x416d0b
jmp 0x41385e
mov ecx, eax
sub ecx, 0x8b1bb5f0
je 0x4171d0
jmp 0x41386e
mov ecx, eax
sub ecx, 0x8b2bda3b
je 0x417a7f
jmp 0x41387e
mov ecx, eax
sub ecx, 0x8ecd247f
je 0x41523b
jmp 0x41388e
mov ecx, eax
sub ecx, 0x8f685f81
je 0x415505
jmp 0x41389e
mov ecx, eax
sub ecx, 0x92ffee64
je 0x414e67
jmp 0x4138ae
mov ecx, eax
sub ecx, 0x931dc289
je 0x415892
jmp 0x4138be
mov ecx, eax
sub ecx, 0x93f0ebbd
je 0x4174d1
jmp 0x4138ce
mov ecx, eax
sub ecx, 0x953150da
je 0x4181b6
jmp 0x4138de
mov ecx, eax
sub ecx, 0x98ef6051
je 0x415d4a
jmp 0x4138ee
mov ecx, eax
sub ecx, 0x9a44966f
je 0x4162b1
jmp 0x4138fe
mov ecx, eax
sub ecx, 0x9ea8078a
je 0x41752e
jmp 0x41390e
mov ecx, eax
sub ecx, 0x9f094cc7
je 0x416c26
jmp 0x41391e
mov ecx, eax
sub ecx, 0x9fa82431
je 0x415ab6
jmp 0x41392e
mov ecx, eax
sub ecx, 0xa352dd50
je 0x4173e2
jmp 0x41393e
mov ecx, eax
sub ecx, 0xa418df7a
je 0x415149
jmp 0x41394e
mov ecx, eax
sub ecx, 0xa6bbf352
je 0x416b46
jmp 0x41395e
mov ecx, eax
sub ecx, 0xa7a9c856
je 0x416af5
jmp 0x41396e
mov ecx, eax
sub ecx, 0xa97286fd
je 0x416b04
jmp 0x41397e
mov ecx, eax
sub ecx, 0xaa6905d7
je 0x414f83
jmp 0x41398e
mov ecx, eax
sub ecx, 0xab47a36a
je 0x417ef3
jmp 0x41399e
mov ecx, eax
sub ecx, 0xad452d8a
je 0x41564b
jmp 0x4139ae
mov ecx, eax
sub ecx, 0xaeda7d17
je 0x415cf3
jmp 0x4139be
mov ecx, eax
sub ecx, 0xb1325728
je 0x4157bf
jmp 0x4139ce
mov ecx, eax
sub ecx, 0xb2d2e9e9
je 0x416bdc
jmp 0x4139de
mov ecx, eax
sub ecx, 0xb3130de8
je 0x41804f
jmp 0x4139ee
mov ecx, eax
sub ecx, 0xb4b29c23
je 0x417b24
jmp 0x4139fe
mov ecx, eax
sub ecx, 0xb4df23f5
je 0x417ec9
jmp 0x413a0e
mov ecx, eax
sub ecx, 0xb5c08347
je 0x4170b9
jmp 0x413a1e
mov ecx, eax
sub ecx, 0xb633209f
je 0x415a57
jmp 0x413a2e
mov ecx, eax
sub ecx, 0xb7bbb5aa
je 0x415074
jmp 0x413a3e
mov ecx, eax
sub ecx, 0xbb6ca7dc
je 0x416e1b
jmp 0x413a4e
mov ecx, eax
sub ecx, 0xbbd48080
je 0x417927
jmp 0x413a5e
mov ecx, eax
sub ecx, 0xbc3a7aed
je 0x4173f1
jmp 0x413a6e
mov ecx, eax
sub ecx, 0xbcbcd655
je 0x414ee9
jmp 0x413a7e
mov ecx, eax
sub ecx, 0xbd5dd375
je 0x418333
jmp 0x413a8e
mov ecx, eax
sub ecx, 0xbdd9dde7
je 0x414eda
jmp 0x413a9e
mov ecx, eax
sub ecx, 0xbf7dd7c9
je 0x414e2e
jmp 0x413aae
mov ecx, eax
sub ecx, 0xbfe1728a
je 0x41454f
jmp 0x413abe
mov ecx, eax
sub ecx, 0xc096832c
je 0x4170d7
jmp 0x413ace
mov ecx, eax
sub ecx, 0xc09d9e57
je 0x415065
jmp 0x413ade
mov ecx, eax
sub ecx, 0xc2d09eee
je 0x4174ef
jmp 0x413aee
mov ecx, eax
sub ecx, 0xc34e1737
je 0x415b6d
jmp 0x413afe
mov ecx, eax
sub ecx, 0xc435a741
je 0x4182c1
jmp 0x413b0e
mov ecx, eax
sub ecx, 0xc5256c84
je 0x416758
jmp 0x413b1e
mov ecx, eax
sub ecx, 0xc570dce9
je 0x416287
jmp 0x413b2e
mov ecx, eax
sub ecx, 0xc58b42b0
je 0x417b72
jmp 0x413b3e
mov ecx, eax
sub ecx, 0xc6462edd
je 0x415016
jmp 0x413b4e
mov ecx, eax
sub ecx, 0xc7ce439a
je 0x415491
jmp 0x413b5e
mov ecx, eax
sub ecx, 0xc829b686
je 0x4170c8
jmp 0x413b6e
mov ecx, eax
sub ecx, 0xc9c9fa26
je 0x414e76
jmp 0x413b7e
mov ecx, eax
sub ecx, 0xcaac410a
je 0x415f80
jmp 0x413b8e
mov ecx, eax
sub ecx, 0xcca13fff
je 0x417486
jmp 0x413b9e
mov ecx, eax
sub ecx, 0xcd37ba68
je 0x418034
jmp 0x413bae
mov ecx, eax
sub ecx, 0xcf6d0de6
je 0x414ea7
jmp 0x413bbe
mov ecx, eax
sub ecx, 0xd039bd0c
je 0x415472
jmp 0x413bce
mov ecx, eax
sub ecx, 0xd0654753
je 0x4166cc
jmp 0x413bde
mov ecx, eax
sub ecx, 0xd1589dcd
je 0x416b9e
jmp 0x413bee
mov ecx, eax
sub ecx, 0xd30f2318
je 0x415083
jmp 0x413bfe
mov ecx, eax
sub ecx, 0xd6c4ab99
je 0x417728
mov eax, dword [esp + 0x28]
mov dword [eax], 0xe218622d
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf7fe9cc7
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xc9c9fa26
jmp 0x418375
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043b990
mov eax, dword [esp + 0x28]
mov dword [eax], 0xa418df7a
mov eax, dword [esp + 0x34]
mov dword [esp + 0x33c], 4
mov dword [esp + 0x338], eax
jmp 0x418375
mov eax, dword [esp + 0xac]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x414ec4
mov ecx, eax
mov dword [esp + 0x370], ecx
mov eax, dword [esp + 0x28]
mov dword [eax], 0xbdd9dde7
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xbcbcd655
jmp 0x418375
mov eax, dword [esp + 0x370]
mov dword [esp], eax
call fcn.004084d0
mov dword [esp + 0x184], eax
mov eax, dword [0x44e1c4]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x184]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xf0]
xor ebx, ebx
lea ebx, [esp + 0xac]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call eax
sub esp, 0x18
cmp eax, 0
setge al
and al, 1
mov byte [esp + 0x92], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x484fa8f5
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x3085f5e
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x74e46158
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xb7bbb5aa
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd30f2318
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6ae7b993
jmp 0x418375
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
mov eax, 0x6bf9a9bb
cmp dword [esp + 0x378], 0
je 0x415179
mov eax, 0xf00b1782
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x378]
mov ecx, dword [esp + 0x374]
mov edx, dword [esp + 0x374]
mov dword [esp + 0x168], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x348], edx
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6d9249cd
jmp 0x418375
mov eax, 0x8f685f81
test byte [esp + 0x93], 1
jne 0x415486
mov eax, 0xeef15741
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
call fcn.00408ce0
mov ecx, 0x24
cdq
idiv ecx
movsx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, dword [esp + 0xf4]
add ecx, 2
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0xf4]
mov word [ecx], ax
mov eax, dword [esp + 0x37c]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0xeea806b5
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x344], ecx
mov dword [esp + 0x340], eax
jmp 0x418375
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043b990
mov eax, dword [esp + 0x28]
mov dword [eax], 0x4645fabc
mov dword [esp + 0x160], 4
mov dword [esp + 0x15c], 0
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x4645fabc
mov eax, dword [esp + 0x60]
mov dword [esp + 0x160], 4
mov dword [esp + 0x15c], eax
jmp 0x418375
mov eax, 0x6fc0f396
test byte [esp + 0x94], 1
jne 0x4157d3
mov eax, 0x7d9b94c9
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x7c4a737c
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x3d87f640
jmp 0x418375
cmp dword [esp + 0x3f4], 0
sete al
and al, 1
mov byte [esp + 0x95], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x405fae84
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xfe904c9b
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xc5256c84
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x368], 4
mov dword [esp + 0x364], ecx
mov dword [esp + 0x360], eax
mov dword [esp + 0x35c], 0
jmp 0x418375
mov al, byte [esp + 0x1b0]
mov byte [esp + 0x270], al
mov byte [esp + 0x310], 0xb2
mov byte [esp + 0x311], 0xab
mov byte [esp + 0x312], 0x1e
mov eax, 3
mov byte [esp + eax + 0x310], 0
add eax, 1
cmp eax, 8
jne 0x415d75
xor eax, eax
cmp eax, 8
jae 0x415dd8
movzx edx, byte [esp + eax + 0x310]
mov ecx, eax
add ecx, 0x9021fb7a
mov esi, eax
add esi, 0x7a
or esi, ecx
and esi, edx
mov ebx, esi
and ebx, 0xfd
mov edi, esi
and edi, 2
xor edi, 2
imul edi, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
add esi, edi
add ecx, edx
sub ecx, esi
add cl, 0x9e
mov byte [esp + eax + 0x310], cl
add eax, 1
jmp 0x415d87
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x310]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401890
mov dword [esp + 0xf8], eax
mov al, byte [esp + 0x1ac]
mov byte [esp + 0x274], al
mov byte [esp + 0x308], 0x59
mov byte [esp + 0x309], 0xb7
mov byte [esp + 0x30a], 0x36
mov eax, 3
mov byte [esp + eax + 0x308], 0
add eax, 1
cmp eax, 6
jne 0x415e21
xor eax, eax
cmp eax, 6
jae 0x415e9c
movzx esi, byte [esp + eax + 0x308]
mov ecx, eax
add ecx, 0x7d48b4b6
mov edx, ecx
shl edx, 1
sub edx, eax
add edx, 0x4a
and edx, esi
or ecx, esi
mov esi, ecx
shl esi, 1
xor esi, 0xffffffff
add ecx, esi
mov edi, edx
xor edi, 0xffffffff
mov esi, ecx
and esi, edi
mov edi, ecx
xor edi, edx
add ecx, edi
mov edi, ecx
xor edi, 0xffffffff
mov edx, esi
add edx, edi
add edx, 0x8d947871
sub ecx, esi
shl ecx, 1
and ecx, 2
mov esi, edx
and esi, ecx
shl esi, 1
xor edx, ecx
xor edx, 1
add edx, esi
mov byte [esp + eax + 0x308], dl
add eax, 1
jmp 0x415e33
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x308]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401890
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0x716999bc
jmp 0x418375
mov eax, dword [esp + 0x350]
mov dword [esp + 0x188], eax
cmp dword [esp + 0xfc], 0
setne al
and al, 1
mov byte [esp + 0x43], al
mov eax, 0x54470386
test byte [esp + 0x43], 1
jne 0x415fb0
mov eax, 0xfac1b46c
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov dword [esp + 0x354], 0
jmp 0x418375
mov eax, 0x7e7596f7
test byte [esp + 0x42], 1
jne 0x4161ea
mov eax, 0xc570dce9
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x358], eax
jmp 0x418375
mov eax, dword [esp + 0x358]
mov dword [esp + 0x39c], eax
mov eax, 0x9a44966f
test byte [esp + 0x43], 1
jne 0x4162a6
mov eax, 0xdc007f42
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
mov eax, dword [esp + 0x39c]
add eax, 2
mov ecx, dword [esp + 0x39c]
mov word [ecx], 0x2c
mov ecx, dword [esp + 0x394]
mov edx, dword [esp + 0xfc]
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0040ad60
mov eax, dword [esp + 0x28]
mov dword [eax], 0xdc007f42
jmp 0x418375
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x410], ecx
mov dword [esp + 0x414], edx
mov eax, dword [esp + 0x28]
mov dword [eax], 0xfdc7c858
jmp 0x418375
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x364]
mov esi, dword [esp + 0x368]
mov dword [esp + 0x418], eax
mov dword [esp + 0x41c], ecx
mov dword [esp + 0x420], edx
mov eax, 0xa6bbf352
cmp esi, 0
je 0x416798
mov eax, 0x2b04d873
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x41c]
mov edx, dword [esp + 0x418]
mov dword [esp + 0x180], eax
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x178], edx
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xa97286fd
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf5e695ea
jmp 0x418375
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
mov eax, dword [esp + 0x28]
mov dword [eax], 0x64a9da2f
jmp 0x418375
mov eax, 0x15abab55
cmp dword [esp + 0x104], 2
jl 0x416bb2
mov eax, 0xf0397f71
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
mov eax, 0x3fe3cc03
cmp dword [esp + 0x104], 0
je 0x416bf0
mov eax, 0xbc3a7aed
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
call fcn.00418800
lea edi, [esp + 0x454]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x454], 0x44
mov eax, dword [0x44e1bc]
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.00440350
mov esi, eax
test esi, esi
setne al
call fcn.00418800
call fcn.00418800
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xa8]
xor edx, edx
lea edx, [esp + 0x454]
lea edi, [esp + 0x444]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
call esi
sub esp, 0x28
cmp eax, 0
setne al
and al, 1
mov byte [esp + 0x96], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x31312e3a
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x529f9dae
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xbc3a7aed
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xc829b686
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xc096832c
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xbc3a7aed
jmp 0x418375
mov eax, 0x6a3b8ee0
test byte [esp + 0x97], 1
jne 0x4171e4
mov eax, 0x463d2e6a
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0xbc3a7aed
jmp 0x418375
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0043b990
mov eax, 0x3a8594e1
cmp dword [esp + 0x100], 0
je 0x417411
mov eax, 0x525ff032
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x418375
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call fcn.004084e0
mov eax, dword [esp + 0x28]
mov dword [eax], 0xcbc69bf
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x85a49d88
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x93f0ebbd
jmp 0x418375
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2b04d873
jmp 0x418375
mov eax, dword [esp + 0xec]
add eax, 1
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf4283c75
mov eax, dword [esp + 0x424]
mov dword [esp + 0x32c], eax
jmp 0x418375
jecxz 0x417596
cmpsb byte [esi], byte es:[edi]
dec ebx
push es
mov edi, 0x64f83670
mov byte [esi + 9], ah
test eax, 0x8c8c14d7
xlatb
mov eax, dword [esp + 0x28]
mov dword [eax], 0xe218622d
jmp 0x418375
add byte [edi + 0x2b9], al
add dh, al
test byte [esp + ebx*8], cl
add byte [eax], al
add byte [eax], al
mov byte [esp + ecx + 0xdc], 0
add ecx, 1
cmp ecx, 5
jne 0x41759d
xor eax, eax
cmp eax, 5
jae 0x41764c
movzx edi, byte [esp + eax + 0xdc]
mov edx, eax
add edx, 0x2965c361
mov esi, edx
and esi, edi
mov ecx, esi
and ecx, 0xfd
mov ebx, esi
and ebx, 2
xor ebx, 2
imul ebx, ecx
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
add esi, ebx
add edx, edi
mov ecx, edx
xor ecx, esi
xor esi, 0xffffffff
and edx, esi
shl edx, 1
sub edx, ecx
mov ecx, edx
shl ecx, 1
mov esi, 2
sub esi, ecx
and esi, 2
xor esi, 2
mov edi, 1
sub edi, edx
mov ecx, 1
sub ecx, edx
or edi, ecx
and edi, 1
and edx, 0xfffffffe
add edx, 0x31032f1a
mov ebx, edx
or ebx, edi
and edx, esi
shl edx, 1
xor ebx, esi
add ebx, edx
mov byte [esp + eax + 0xdc], bl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x4175af
lea eax, [esp + 0xdc]
mov ecx, dword [esp + 0x3d0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401b10
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2d597bcc
jmp 0x418375
mov eax, dword [0x57b2d37c]
or cl, byte [ebp + edi + 0x21d07806]
adc ebp, dword [ebp - 0x6b]
int 0xcd
and eax, 0x448b7831
and al, 0x28
mov dword [eax], 0xed479a8e
jmp 0x418375
inc ebp
dec ebx
outsd dx, dword [esi]
inc esp
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.004183b0
mov esi, eax
mov edi, esi
shr edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto cl
xor edx, edx
mov ecx, 0xffffffff
test dl, 1
jne 0x41795a
mov ecx, eax
mov dword [esp], ecx
call fcn.004084d0
mov ebx, eax
mov eax, dword [esp + 0xc0]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040ad60
xor eax, eax
lea eax, [esp + 0xac]
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [0x44e1c4]
sub esp, 0x18
mov al, byte [esp + 0x70]
mov byte [esp + 0x248], al
mov byte [esp + 0xa0], 0xb1
mov byte [esp + 0xa1], 0x9b
mov byte [esp + 0xa2], 0x9a
mov byte [esp + 0xa3], 0x59
mov eax, 4
mov byte [esp + eax + 0xa0], 0
add eax, 1
cmp eax, 5
jne 0x4179ea
xor eax, eax
cmp eax, 5
jae 0x417a1e
mov cl, byte [esp + eax + 0xa0]
mov dl, al
add dl, 0x1b
xor dl, cl
add dl, 0x79
mov byte [esp + eax + 0xa0], dl
add eax, 1
jmp 0x4179fc
mov eax, dword [esp + 0x28]
mov dword [eax], 0x9998808
jmp 0x418375
jmp 0x418375
jge 0x417a4b
aaa
insb byte es:[edi], dx
pop esi
push ebp
sbb eax, 0x31626e28
cmpsd dword [esi], dword es:[edi]
mov bh, 0x83
ret 0x5bf0
invalid
inc byte [ecx + eax - 0x48]
fdivrp st(2)
lodsd eax, dword [esi]
int1
or byte [esi - 0x32], ah
adc cl, byte [ecx + 0x1d]
test dword [edi + 0x20], edx
jmp 0x44cd26cc
pxor mm7, qword [edx + 0x28]
jo 0x417e45
or dword [eax - 0x75], 0xc7282444
add byte [esi - 0x16db2e27], ch
push ebp
add eax, 0x9dd50000
add eax, 0x24448a81
mov byte fs:[esp + 0x264], al
mov byte [esp + 0x54], 0xf2
mov byte [esp + 0x55], 0x27
mov byte [esp + 0x56], 0xba
mov byte [esp + 0x57], 0x21
mov byte [esp + 0x58], 0xb4
mov byte [esp + 0x59], 0x23
mov byte [esp + 0x5a], 0xb6
mov byte [esp + 0x5b], 0xdd
mov byte [esp + 0x5c], 0xdc
mov byte [esp + 0x5d], 0xdf
mov eax, 0xa
and al, 0x58
mov ah, 0xc6
inc esp
and al, 0x59
and eax, esi
inc esp
and al, 0x5a
mov dh, 0xc6
inc esp
and al, 0x5b
ffree st(6)
inc esp
and al, 0x5c
fadd st(6), st(0)
inc esp
and al, 0x5d
fistp qword [eax + 0xa]
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 0xc
jne 0x417e66
xor eax, eax
cmp eax, 0xc
jae 0x417ea6
mov dl, byte [esp + eax + 0x54]
mov ecx, eax
add ecx, 0xdd
mov esi, 0x22
sub esi, eax
and esi, 0x64
and ecx, 0x9b
sub ecx, esi
xor cl, dl
add cl, 0xa3
mov byte [esp + eax + 0x54], cl
add eax, 1
jmp 0x417e75
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00418790
mov eax, dword [esp + 0x28]
mov dword [eax], 0x3a1adb63
jmp 0x418375
jg 0x417edd
xor edx, dword [edi - 0x3e]
sub byte [ebp + 0x32], cl
push ss
mov ecx, ebp
mov eax, dword [esp + 0x28]
mov dword [eax], 0xfca35a3f
jmp 0x418375
mov dword [0x491e9fc], eax
add byte [eax], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0xb633209f
jmp 0x418375
test al, 0x92
adc al, 0x62
test byte [ecx], ah
dec ecx
or esi, dword [edi]
adc al, 0xb5
invalid
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004187e0
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2ab4cbe5
jmp 0x418375
cmp eax, 0x12f20a09
test eax, 0x848b3697
and al, 0xfc
add byte [eax], al
add byte [ecx + 0x1ae82404], cl
add eax, dword [eax]
add byte [ebx - 0x38d7dbbc], cl
add byte [0xe9f59a63], dl
add byte [ebx], al
add byte [eax], al
mov eax, dword [esp + 0xc4]
add eax, 2
mov ecx, dword [esp + 0xc4]
mov word [ecx], 0x2c
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0xf8]
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0040ad60
mov eax, dword [esp + 0x28]
mov dword [eax], 0x1e3832d1
jmp 0x418375
add dl, bh
add byte [eax], bl
mov esi, dword [esp + 0x444]
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x2b0], al
mov byte [esp + 0x1c8], 0xd
mov byte [esp + 0x1c9], 0xe
mov byte [esp + 0x1ca], 0xf
mov byte [esp + 0x1cb], 0xf0
mov eax, 4
mov byte [esp + eax + 0x1c8], 0
add eax, 1
cmp eax, 8
jne 0x4181f4
xor eax, eax
cmp eax, 8
jae 0x418234
movzx edx, byte [esp + eax + 0x1c8]
mov ecx, eax
add ecx, 0xab2aaf7d
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0x8f
mov byte [esp + eax + 0x1c8], cl
add eax, 1
jmp 0x418206
mov edi, dword [esp + 0x1c8]
xor ebx, ebx
cmp ebx, dword [0x44e1c8]
jb 0x418247
jmp 0x41829f
mov eax, dword [0x44e1cc]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
test cl, 1
jne 0x41825d
jmp 0x418293
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x418293
mov byte [esp + 0x8c], cl
mov ecx, dword [0x44e1d0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043e5b0
mov cl, byte [esp + 0x8c]
jmp 0x418293
test cl, 1
je 0x41829a
jmp 0x41829f
add ebx, 1
jmp 0x41823d
mov eax, dword [esp + 0x28]
mov dword [eax], 0x529f9dae
jmp 0x418375
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0xa8]
xor edx, edx
lea edx, [esp + 0x4f8]
lea esi, [esp + 0x434]
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
add byte [eax], al
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
call eax
sub esp, 0x28
mov eax, dword [esp + 0x28]
mov dword [eax], 0x54051844
jmp 0x418375
jle 0x418318
idiv byte [ebx + 0x22f8da38]
cmp al, 0x8d
invalid
jmp 0x4137f7