Function at 0x414bc0
Capabilities:
Authenticate hmac
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, 0x390
mov esi, esp
mov dword [esi + 0x28c], 0x11e5f66b
lea eax, [esi + 0x28c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x28c]
mov ecx, eax
sub ecx, 0x80b80ae4
je 0x41880e
jmp 0x414bfa
mov ecx, eax
sub ecx, 0x845c789d
je 0x4183ff
jmp 0x414c0a
mov ecx, eax
sub ecx, 0x876b27f2
je 0x4187e1
jmp 0x414c1a
mov ecx, eax
sub ecx, 0x8887043e
je 0x416eae
jmp 0x414c2a
mov ecx, eax
sub ecx, 0x8a3354b0
je 0x418de7
jmp 0x414c3a
mov ecx, eax
sub ecx, 0x8c32dc8b
je 0x417f95
jmp 0x414c4a
mov ecx, eax
sub ecx, 0x8d5e0d87
je 0x41652f
jmp 0x414c5a
mov ecx, eax
sub ecx, 0x8d8ce883
je 0x4170e5
jmp 0x414c6a
mov ecx, eax
sub ecx, 0x908bad2a
je 0x419047
jmp 0x414c7a
mov ecx, eax
sub ecx, 0x91e8055f
je 0x417e5b
jmp 0x414c8a
mov ecx, eax
sub ecx, 0x92a8c909
je 0x417e21
jmp 0x414c9a
mov ecx, eax
sub ecx, 0x92e68c92
je 0x4192b7
jmp 0x414caa
mov ecx, eax
sub ecx, 0x934a2f32
je 0x4173b6
jmp 0x414cba
mov ecx, eax
sub ecx, 0x94a967a2
je 0x41709c
jmp 0x414cca
mov ecx, eax
sub ecx, 0x957942ef
je 0x4169de
jmp 0x414cda
mov ecx, eax
sub ecx, 0x99ff6948
je 0x417e78
jmp 0x414cea
mov ecx, eax
sub ecx, 0x9e013fd9
je 0x416b10
jmp 0x414cfa
mov ecx, eax
sub ecx, 0x9e5ef4a0
je 0x417141
jmp 0x414d0a
mov ecx, eax
sub ecx, 0xa09ebd6b
je 0x41841e
jmp 0x414d1a
mov ecx, eax
sub ecx, 0xa190784f
je 0x4177a5
jmp 0x414d2a
mov ecx, eax
sub ecx, 0xa32851bb
je 0x4175db
jmp 0x414d3a
mov ecx, eax
sub ecx, 0xa35f2318
je 0x416c34
jmp 0x414d4a
mov ecx, eax
sub ecx, 0xa3dec789
je 0x417d86
jmp 0x414d5a
mov ecx, eax
sub ecx, 0xa51cf253
je 0x416b1e
jmp 0x414d6a
mov ecx, eax
sub ecx, 0xa60cd833
je 0x416c26
jmp 0x414d7a
mov ecx, eax
sub ecx, 0xa79c4094
je 0x418acc
jmp 0x414d8a
mov ecx, eax
sub ecx, 0xa8599400
je 0x418e05
jmp 0x414d9a
mov ecx, eax
sub ecx, 0xa8945ea0
je 0x41739a
jmp 0x414daa
mov ecx, eax
sub ecx, 0xa898bd75
je 0x415aef
jmp 0x414dba
mov ecx, eax
sub ecx, 0xa8a808d8
je 0x4179ea
jmp 0x414dca
mov ecx, eax
sub ecx, 0xa99fa1c9
je 0x418cd4
jmp 0x414dda
mov ecx, eax
sub ecx, 0xa9b46d20
je 0x418ce2
jmp 0x414dea
mov ecx, eax
sub ecx, 0xab8e4b63
je 0x41609e
jmp 0x414dfa
mov ecx, eax
sub ecx, 0xae02aad5
je 0x418cfc
jmp 0x414e0a
mov ecx, eax
sub ecx, 0xae14b958
je 0x4169c4
jmp 0x414e1a
mov ecx, eax
sub ecx, 0xae19d847
je 0x415b19
jmp 0x414e2a
mov ecx, eax
sub ecx, 0xae8b8edb
je 0x416e03
jmp 0x414e3a
mov ecx, eax
sub ecx, 0xaeca50f0
je 0x416d5e
jmp 0x414e4a
mov ecx, eax
sub ecx, 0xb119181b
je 0x4180ec
jmp 0x414e5a
mov ecx, eax
sub ecx, 0xb2465bdd
je 0x416e3c
jmp 0x414e6a
mov ecx, eax
sub ecx, 0xb28d1bd0
je 0x41649c
jmp 0x414e7a
mov ecx, eax
sub ecx, 0xb421ef57
je 0x4165e9
jmp 0x414e8a
mov ecx, eax
sub ecx, 0xb4b46eee
je 0x416521
jmp 0x414e9a
mov ecx, eax
sub ecx, 0xbbc0ce64
je 0x41882d
jmp 0x414eaa
mov ecx, eax
sub ecx, 0xbbd24de5
je 0x4169b6
jmp 0x414eba
mov ecx, eax
sub ecx, 0xbff143b5
je 0x41840d
jmp 0x414eca
mov ecx, eax
sub ecx, 0xc0fa8190
je 0x41900b
jmp 0x414eda
mov ecx, eax
sub ecx, 0xc33faabf
je 0x419025
jmp 0x414eea
mov ecx, eax
sub ecx, 0xc39abdbc
je 0x415e23
jmp 0x414efa
mov ecx, eax
sub ecx, 0xc4c8a1d4
je 0x41715b
jmp 0x414f0a
mov ecx, eax
sub ecx, 0xc598b08d
je 0x418e4a
jmp 0x414f1a
mov ecx, eax
sub ecx, 0xc607be07
je 0x416c4e
jmp 0x414f2a
mov ecx, eax
sub ecx, 0xc6c39fc5
je 0x418d72
jmp 0x414f3a
mov ecx, eax
sub ecx, 0xc6cef9ed
je 0x416982
jmp 0x414f4a
mov ecx, eax
sub ecx, 0xc737ba03
je 0x418916
jmp 0x414f5a
mov ecx, eax
sub ecx, 0xc74853b8
je 0x4162e9
jmp 0x414f6a
mov ecx, eax
sub ecx, 0xc825a045
je 0x4176de
jmp 0x414f7a
mov ecx, eax
sub ecx, 0xc9c60e98
je 0x417dd5
jmp 0x414f8a
mov ecx, eax
sub ecx, 0xcbdadefa
je 0x416963
jmp 0x414f9a
mov ecx, eax
sub ecx, 0xcc6663e3
je 0x416f0d
jmp 0x414faa
mov ecx, eax
sub ecx, 0xccea4ee5
je 0x417a28
jmp 0x414fba
mov ecx, eax
sub ecx, 0xcdd87d18
je 0x41850b
jmp 0x414fca
mov ecx, eax
sub ecx, 0xcfbe8f34
je 0x416825
jmp 0x414fda
mov ecx, eax
sub ecx, 0xd10caad8
je 0x41887b
jmp 0x414fea
mov ecx, eax
sub ecx, 0xd140cb91
je 0x416468
mov eax, dword [esi + 4]
mov dword [eax], 0xd3267a88
mov byte [esi + 0x14], 0
jmp 0x4193d5
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x70]
sub esp, 4
mov dword [esp], eax
call fcn.00402030
add esp, 4
mov ecx, 0x6d544f79
cmp dword [esi + 0x74], eax
jb 0x415b42
mov ecx, 0x156f56fd
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x4521f0c4
jmp 0x4193d5
mov eax, 0xf27905b
test byte [esi + 0x15], 1
jne 0x4160ae
mov eax, 0x74d727e6
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 0x1c]
sub esp, 4
mov dword [esp], eax
call fcn.00408820
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x4037e6c4
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x5aa76aa8
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x8d5e0d87
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xeb2c5edb
mov eax, dword [esi + 0x33c]
mov ecx, dword [esi + 0x338]
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1ec], ecx
jmp 0x4193d5
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f8]
mov dword [esi + 0x264], eax
mov dword [esi + 0xfc], ecx
mov ecx, dword [esi + 0x264]
mov eax, 0xcfbe8f34
cmp ecx, dword [esi + 0x340]
jb 0x416619
mov eax, 0x521b8951
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
call fcn.00408f30
mov ecx, 0x24
cdq
idiv ecx
movsx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, dword [esi + 0xfc]
add ecx, 2
mov dword [esi + 0x344], ecx
mov ecx, dword [esi + 0xfc]
mov word [ecx], ax
mov eax, dword [esi + 0x264]
sub eax, 0xffffffff
mov dword [esi + 0x348], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xb421ef57
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x344]
mov dword [esi + 0x1f8], ecx
mov dword [esi + 0x1f4], eax
jmp 0x4193d5
mov eax, dword [esi + 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.00408820
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xc6cef9ed
jmp 0x4193d5
mov eax, dword [esi + 8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0043ca40
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xaeca50f0
mov eax, dword [esi + 0x20]
mov dword [esi + 0xac], 4
mov dword [esi + 0xa8], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xae14b958
jmp 0x4193d5
cmp dword [esi + 0x10], 0
sete al
and al, 1
mov byte [esi + 0x32], al
mov eax, dword [esi + 4]
mov dword [eax], 0x957942ef
jmp 0x4193d5
mov eax, 0xf5378aba
test byte [esi + 0x32], 1
jne 0x4169ee
mov eax, 0xa51cf253
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x6dbdc8c3
jmp 0x4193d5
mov eax, 0x1403ea53
cmp dword [esi + 0x10], 1
je 0x416b2e
mov eax, 0xa60cd833
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xa35f2318
jmp 0x4193d5
cmp dword [esi + 0x10], 2
sete al
and al, 1
mov byte [esi + 0x33], al
mov eax, dword [esi + 4]
mov dword [eax], 0xc607be07
jmp 0x4193d5
mov eax, 0x30d28b93
test byte [esi + 0x33], 1
jne 0x416c5e
mov eax, 0x6dbdc8c3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
mov dword [esi + 0x26c], eax
mov dword [esi + 0x270], ecx
mov eax, 0x32c7cc00
cmp dword [esi + 0x270], 0
je 0x416d89
mov eax, 0xae8b8edb
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x26c]
mov edx, dword [esi + 0x26c]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x1fc], edx
jmp 0x4193d5
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
mov dword [esi + 0xc], eax
mov eax, 0x6f095187
cmp ecx, 0
je 0x416e21
mov eax, 0x52025672
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x4c]
xor edx, edx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call fcn.00441b00
add esp, 0x1c
mov dword [esi + 0x274], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x4cc0fc7b
jmp 0x4193d5
cmp dword [esi + 0x274], 0
setge al
and al, 1
mov byte [esi + 0x34], al
mov eax, dword [esi + 4]
mov dword [eax], 0x30a67039
jmp 0x4193d5
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x350], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x3d163346
jmp 0x4193d5
mov edi, dword [esi + 0x200]
mov eax, dword [esi + 8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0043ca40
add esp, 4
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, 0x7a44d25d
cmp edi, 0
jge 0x4170cd
mov eax, 0x79b7118e
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xa2e83fa
jmp 0x4193d5
mov eax, 0xc4c8a1d4
test byte [esi + 0x35], 1
jne 0x417151
mov eax, 0xc825a045
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0x324]
mov eax, dword [esi + 0xe8]
mov cl, byte [ecx]
mov byte [esi + 0x190], cl
mov byte [eax], 0x4e
mov byte [eax + 1], 0x79
mov byte [eax + 2], 0xea
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x417185
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x88], eax
xor ecx, ecx
cmp ecx, 4
jae 0x4171de
mov eax, dword [esi + 0x88]
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0xd7
or edx, edi
mov ebx, ecx
add ebx, 0xd8
mov eax, 0x28
sub eax, ecx
or eax, edi
add eax, ebx
sub edx, eax
add dl, 0xcd
mov eax, dword [esi + 0x88]
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x41719f
mov eax, dword [esi + 0x18]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 4], eax
call fcn.00401880
add esp, 8
mov dword [esi + 0x7c], eax
mov ecx, dword [esi + 0x328]
mov eax, dword [esi + 0x244]
mov cl, byte [ecx]
mov byte [esi + 0x194], cl
mov byte [eax], 0x11
mov byte [eax + 1], 0xe3
mov byte [eax + 2], 0x72
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 7
jne 0x417220
mov eax, dword [esi + 0x244]
xor ecx, ecx
cmp ecx, 7
jae 0x417261
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x7a62146c
xor edx, edi
add edx, 0x9c1599e3
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, edi
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x417234
mov ecx, dword [esi + 0x18]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401880
add esp, 8
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00419830
add esp, 4
mov dword [esi + 0x358], eax
cmp dword [esi + 0x7c], 0
setne al
and al, 1
mov byte [esi + 0x16], al
mov eax, 0x25a43d30
test byte [esi + 0x16], 1
jne 0x4172af
mov eax, 0x9e4984a
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [esi + 0x204], 0
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xf7ae1cc0
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x1d7599b2
jmp 0x4193d5
mov edi, dword [esi + 0x100]
add edi, 2
mov eax, dword [esi + 0x100]
mov word [eax], 0x2c
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0x7c]
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.0040afc0
add esp, 0x10
shl eax, 1
add edi, eax
mov dword [esi + 0x364], edi
mov eax, dword [esi + 4]
mov dword [eax], 0x272d3e89
mov eax, dword [esi + 0x364]
mov dword [esi + 0x20c], eax
jmp 0x4193d5
mov eax, 0xf92e5dcf
cmp dword [esi + 0x10], 2
je 0x4176ee
mov eax, 0x3bd81989
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xb8], 0
jmp 0x4193d5
mov edi, dword [esi + 0xec]
xor eax, eax
cmp eax, 4
jae 0x4177c7
mov cl, byte [edi + eax]
mov dl, al
add dl, 0x15
xor dl, cl
add dl, 0x97
mov byte [edi + eax], dl
add eax, 1
jmp 0x4177ad
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x24c]
mov eax, dword [esi + 0x3c]
mov cl, byte [ecx]
mov byte [esi + 0x1a4], cl
mov byte [eax], 0xec
mov byte [eax + 1], 0x9b
mov byte [eax + 2], 0xeb
mov byte [eax + 3], 0x99
mov byte [eax + 4], 0xe1
mov byte [eax + 5], 0xa7
mov byte [eax + 6], 0xcd
mov byte [eax + 7], 0xa5
mov byte [eax + 8], 0xda
mov byte [eax + 9], 0xa3
mov byte [eax + 0xa], 0xdf
mov byte [eax + 0xb], 0xa1
mov byte [eax + 0xc], 0xc8
mov byte [eax + 0xd], 0xaf
mov byte [eax + 0xe], 0xc5
mov byte [eax + 0xf], 0xad
mov byte [eax + 0x10], 0xd8
mov byte [eax + 0x11], 0xab
mov byte [eax + 0x12], 0xde
mov byte [eax + 0x13], 0xa9
mov byte [eax + 0x14], 0x88
mov byte [eax + 0x15], 0xb7
mov byte [eax + 0x16], 0x85
mov byte [eax + 0x17], 0xb5
mov byte [eax + 0x18], 0xdf
mov byte [eax + 0x19], 0xb3
mov byte [eax + 0x1a], 0xca
mov byte [eax + 0x1b], 0xb1
mov byte [eax + 0x1c], 0xdb
mov byte [eax + 0x1d], 0xbf
mov byte [eax + 0x1e], 0xd3
mov byte [eax + 0x1f], 0xbd
mov byte [eax + 0x20], 0x9c
mov byte [eax + 0x21], 0xbb
mov byte [eax + 0x22], 0xd4
mov byte [eax + 0x23], 0xb9
mov byte [eax + 0x24], 0x3f
mov byte [eax + 0x25], 0xc7
mov byte [eax + 0x26], 0xb6
mov byte [eax + 0x27], 0xc5
mov byte [eax + 0x28], 0xab
mov byte [eax + 0x29], 0xc3
mov byte [eax + 0x2a], 0xbf
mov byte [eax + 0x2b], 0xc1
mov byte [eax + 0x2c], 0xbd
mov byte [eax + 0x2d], 0xcf
mov byte [eax + 0x2e], 0xee
mov byte [eax + 0x2f], 0xcd
mov byte [eax + 0x30], 0xff
mov byte [eax + 0x31], 0xcb
mov byte [eax + 0x32], 0xa0
mov byte [eax + 0x33], 0xc9
mov byte [eax + 0x34], 0xe8
mov byte [eax + 0x35], 0xd7
mov byte [eax + 0x36], 0xf8
mov byte [eax + 0x37], 0xd5
mov byte [eax + 0x38], 0xd4
mov byte [eax + 0x39], 0xd3
mov ecx, 0x3a
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x3d
jne 0x4178c7
mov eax, dword [esi + 0x3c]
xor ecx, ecx
cmp ecx, 0x3d
jae 0x417917
movzx ebx, byte [eax + ecx]
mov edx, ecx
add edx, 0xec98261b
xor edx, ebx
mov ebx, edx
xor ebx, 0xf01168e3
shl edx, 1
and edx, 0x1fdd2e38
sub edx, ebx
mov ebx, edx
shl ebx, 1
and ebx, 0xf0
xor edx, 0x78
add edx, ebx
add dl, 0xe4
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x4178d8
mov ecx, dword [esi + 0x104]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a310
add esp, 8
mov ecx, dword [esi + 0xc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a310
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0040a310
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0xed259da5
jmp 0x4193d5
mov eax, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov edx, dword [esi + 0x218]
mov edi, dword [esi + 0x21c]
mov dword [esi + 0x374], eax
mov dword [esi + 0x378], ecx
mov dword [esi + 0x37c], edx
mov dword [esi + 0x380], edi
mov eax, dword [esi + 4]
mov dword [eax], 0xccea4ee5
jmp 0x4193d5
cmp dword [esi + 0x380], 0
sete al
and al, 1
mov byte [esi + 0x36], al
mov eax, dword [esi + 4]
mov dword [eax], 0x6f2ec4e2
jmp 0x4193d5
mov eax, dword [esi + 0x108]
sub esp, 4
mov dword [esp], eax
call fcn.00408820
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x51a5fb6e
jmp 0x4193d5
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0xcc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x84], edx
mov eax, dword [esi + 4]
mov dword [eax], 0xb567dce
jmp 0x4193d5
mov eax, 0xb119181b
cmp dword [esi + 0x84], 2
jl 0x417e34
mov eax, 0xde01bf51
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, 0x99ff6948
cmp dword [esi + 0x84], 0
je 0x417e6e
mov eax, 0xd6f31a47
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xf47f081e
jmp 0x4193d5
mov eax, 0x73590363
test byte [esi + 0x38], 1
jne 0x417fa5
mov eax, 0xf34760c5
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [0x44f2a8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x737de518
call fcn.004412a0
add esp, 8
mov edi, eax
test edi, edi
setne al
call fcn.00419850
call fcn.00419850
mov eax, dword [esi + 8]
mov eax, dword [eax]
xor ecx, ecx
lea ecx, [0x425be0]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call edi
mov dword [esi + 0x110], eax
mov eax, 0xd5269f1e
cmp dword [esi + 0x110], 0
jne 0x41816a
mov eax, 0xa7f00ea
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xd6f31a47
jmp 0x4193d5
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 4]
mov dword [eax], 0xa09ebd6b
jmp 0x4193d5
mov eax, dword [esi + 0x28]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.00408890
add esp, 0xc
mov eax, dword [esi + 0x28]
mov dword [eax], 0x44
mov eax, dword [0x44f2a8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.004412a0
add esp, 8
mov edi, eax
cmp edi, 0
setne bl
test bl, 1
jne 0x418474
jmp 0x418474
call fcn.00419850
call fcn.00419850
test bl, 1
jne 0x418485
xor edi, edi
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x28]
xor ebx, ebx
sub esp, 0x28
mov dword [esp], 0
mov dword [esp + 4], edx
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], ecx
mov dword [esp + 0x24], eax
call edi
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x39], al
mov eax, dword [esi + 4]
mov dword [eax], 0x21ed9379
jmp 0x4193d5
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 4]
mov dword [esi + 0x2e0], eax
mov al, byte [esi + 0x120]
mov byte [esi + 0x1cc], al
mov byte [esi + 0x124], 0x9d
mov byte [esi + 0x125], 0x9a
mov byte [esi + 0x126], 0x9b
mov byte [esi + 0x127], 0x98
mov eax, 4
mov byte [esi + eax + 0x124], 0
add eax, 1
cmp eax, 7
jne 0x418544
xor eax, eax
cmp eax, 7
jae 0x4185b4
movzx ecx, byte [esi + eax + 0x124]
mov edx, eax
and edx, 0x35160e19
mov ebx, eax
and ebx, 0x35160e19
mov edi, eax
and edi, 2
xor edi, 2
imul edi, ebx
mov ebx, eax
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
mov ebx, eax
xor ebx, 0x35160e1b
add ebx, edx
mov edx, ebx
and edx, ecx
shl edx, 1
add ebx, ecx
add ebx, 0xfb
sub ebx, edx
add bl, 0x7e
mov byte [esi + eax + 0x124], bl
add eax, 1
jmp 0x418556
mov eax, dword [esi + 0x124]
mov dword [esi + 0x2c0], eax
xor edi, edi
cmp edi, dword [0x44f2b4]
jb 0x4185cc
jmp 0x418624
mov eax, dword [0x44f2b8]
cmp dword [eax + edi*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4185e2
jmp 0x418618
mov eax, dword [eax + edi*8 + 4]
cmp eax, dword [esi + 0x2c0]
je 0x418618
mov ecx, dword [0x44f2bc]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x2e0]
mov dword [esp + 0xc], eax
call fcn.0043f4a0
add esp, 0x10
test bl, 1
je 0x41861f
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x2dc], eax
mov al, byte [esi + 0x114]
mov byte [esi + 0x1d0], al
mov byte [esi + 0x118], 0x9d
mov byte [esi + 0x119], 0x9a
mov byte [esi + 0x11a], 0x9b
mov byte [esi + 0x11b], 0x98
mov eax, 4
mov byte [esi + eax + 0x118], 0
add eax, 1
cmp eax, 7
jne 0x41865c
xor eax, eax
cmp eax, 7
jae 0x4186cc
mov eax, dword [esi + 0x54]
sub esp, 4
mov dword [esp], eax
call fcn.00408820
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xe223b7c7
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0x52025672
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xdf5e06ca
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xae19d847
mov eax, dword [esi + 0x384]
mov dword [esi + 0x1e0], eax
jmp 0x4193d5
cmpsb byte [esi], byte es:[edi]
daa
scasb al, byte es:[edi]
add eax, 0x9c706c31
jne 0x418951
add byte [esi - 0x2c72658d], 1
jno 0x41896d
mov ax, word [esi + 0x74]
mov ecx, dword [esi + 0x70]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00402040
add esp, 8
mov dword [esi + 0x2c4], eax
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x5c]
mov al, byte [eax]
mov byte [esi + 0x150], al
mov byte [ecx], 0x6d
mov byte [ecx + 1], 0x99
mov edx, 2
mov byte [ecx + edx], 0
add edx, 1
cmp edx, 4
jne 0x418965
cli
add al, 0x75
hlt
mov ecx, dword [esi + 0x5c]
xor ebx, ebx
cmp ebx, 4
jae 0x4189af
mov al, byte [ecx + ebx]
mov edx, ebx
add edx, 1
mov edi, ebx
xor edi, 0xffffffff
or edi, 0x5a
add edi, edx
shl edi, 1
mov edx, ebx
xor edx, 0xda
add edx, edi
xor dl, al
add dl, 0xbe
mov byte [ecx + ebx], dl
mov eax, ebx
shl eax, 1
and eax, 2
xor ebx, 1
add ebx, eax
jmp 0x418976
sub esp, 0xc
mov eax, dword [esi + 0x2c4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401f10
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [eax], 0x8e562c4
jmp 0x4193d5
rcl eax, cl
scasb al, byte es:[edi]
stosd dword es:[edi], eax
fiadd word [ecx - 0x139affda]
or bl, ch
xchg ebp, eax
int 0xc5
nop
sbb al, 0xd4
lahf
ror dword [ebx - 0x137ce3ba], 1
add al, 0x89
add al, 0x24
call fcn.00408820
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xc74853b8
jmp 0x4193d5
mov eax, dword [esi + 4]
mov dword [eax], 0xa35f2318
jmp 0x4193d5
push cs
adc eax, 0x69fa9a8c
stosb byte es:[edi], al
adc eax, 0x7e899ce
mov eax, dword [esi + 4]
mov dword [eax], 0x13d70a0a
jmp 0x4193d5
mov esi, 0xc6687007
out dx, al
std
std
mov dword [0x7e7af5b6], eax
mov esi, 0x468b5218
or al, 0x8b
dec esi
dec esp
xor edx, edx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call fcn.00441b00
add esp, 0x1c
mov eax, dword [esi + 4]
mov dword [eax], 0xb2465bdd
jmp 0x4193d5
sub dh, byte [eax]
or al, 0x3e
invalid
mov al, byte [0xed7ff8c]
adc ecx, esp
int 0x35
mov al, 0x2d
fst dword [ebx + 0x53]
fcomp qword [eax]
mov eax, dword [esi + 4]
mov dword [eax], 0x934a2f32
jmp 0x4193d5
leave
insb byte es:[edi], dx
jmp 0x405a94cc
fcom qword [edx + 0x47]
popal
scasb al, byte es:[edi]
jne 0x418e68
ljmp 0:0xecbe8b
retf 0xc280
in eax, dx
imul ebp, dword [eax], 0xffffffb7
salc
add esi, esi
sub esi, eax
mov ecx, 0x4468bd0
mov dword [eax], 0xccea4ee5
jmp 0x4193d5
lahf
push ecx
and byte [edi + 0x31846372], dl
imul esp, dword [esi + 0x78685d1e], 0x6f6d8c8b
pushal
mov eax, dword [esi + 4]
mov dword [eax], 0xfd09a238
jmp 0x4193d5
mov ebp, 0x8b469483
inc esi
or byte [ebx + 0x4ec8300], cl
mov dword [esp], eax
call fcn.004193e0
add esp, 4
mov ebx, eax
and ebx, 1
mov ecx, 2
mov eax, ebx
mul ecx
seto cl
xor edx, edx
mov ecx, 0xffffffff
test dl, 1
jne 0x41907d
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408810
add esp, 4
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
xor ecx, ecx
sub esp, 0x10
mov dword [esi + 0x2f0], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0040afc0
add esp, 0x10
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
mov eax, 0x18
shr eax, cl
or eax, 1
mov ecx, 2
mul ecx
seto cl
xor edx, edx
mov ecx, 0xffffffff
test dl, 1
jne 0x4190dd
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408810
add esp, 4
mov dword [esi + 0x2ec], eax
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x68]
mov al, byte [eax]
mov byte [esi + 0x1a8], al
mov byte [ecx], 0xcc
mov byte [ecx + 1], 0x3f
mov byte [ecx + 2], 0xcf
mov byte [ecx + 3], 0x31
mov byte [ecx + 4], 0xb9
mov byte [ecx + 5], 0x33
mov byte [ecx + 6], 0xd5
mov byte [ecx + 7], 0x35
mov byte [ecx + 8], 0xc6
mov byte [ecx + 9], 0x37
mov byte [ecx + 0xa], 0xc3
mov byte [ecx + 0xb], 0xc9
mov byte [ecx + 0xc], 0x30
mov byte [ecx + 0xd], 0xcb
mov byte [ecx + 0xe], 0x2d
mov byte [ecx + 0xf], 0xcd
mov byte [ecx + 0x10], 0x30
mov byte [ecx + 0x11], 0xcf
mov byte [ecx + 0x12], 0x32
mov byte [ecx + 0x13], 0xc1
mov byte [ecx + 0x14], 0xe0
mov byte [ecx + 0x15], 0xc3
mov byte [ecx + 0x16], 0xfd
mov byte [ecx + 0x17], 0xc5
mov byte [ecx + 0x18], 0x23
mov byte [ecx + 0x19], 0xc7
mov byte [ecx + 0x1a], 0x4e
mov byte [ecx + 0x1b], 0xd9
mov byte [ecx + 0x1c], 0x3f
mov byte [ecx + 0x1d], 0xdb
mov byte [ecx + 0x1e], 0x3f
mov byte [ecx + 0x1f], 0xdd
mov byte [ecx + 0x20], 0xfc
mov byte [ecx + 0x21], 0xdf
mov byte [ecx + 0x22], 0x3c
mov byte [ecx + 0x23], 0xd1
mov byte [ecx + 0x24], 0x5b
mov byte [ecx + 0x25], 0xd3
mov byte [ecx + 0x26], 0x22
mov byte [ecx + 0x27], 0xd5
mov byte [ecx + 0x28], 0x37
mov byte [ecx + 0x29], 0xd7
mov byte [ecx + 0x2a], 0x23
mov byte [ecx + 0x2b], 0xe9
mov byte [ecx + 0x2c], 0x1d
mov byte [ecx + 0x2d], 0xeb
mov byte [ecx + 0x2e], 0xca
mov byte [ecx + 0x2f], 0xed
mov byte [ecx + 0x30], 0xec
mov byte [ecx + 0x31], 0xef
mov eax, 0x32
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x35
jne 0x4191ce
mov ecx, dword [esi + 0x68]
xor edi, edi
cmp edi, 0x35
jae 0x419269
movzx ebx, byte [ecx + edi]
mov dword [esi + 0x2c8], ecx
mov ecx, edi
add ecx, 0xb09afe75
mov eax, 0xf65018a
sub eax, edi
mov edx, edi
add edx, 0x9afe75
and eax, 0xda74d7e
and edx, 0xda74d7e
xor edx, 0xda74d7e
or edx, eax
and ecx, 0xf258b281
mov eax, ebx
and eax, 0x7e
or eax, 0xb2501080
and ebx, 0x81
xor ebx, eax
xor ebx, 0xbff75dfe
or edx, ecx
mov ecx, dword [esi + 0x2c8]
mov eax, ebx
and eax, edx
shl eax, 1
add ebx, edx
sub ebx, eax
mov eax, ebx
shl eax, 1
and eax, 0x6c
xor ebx, 0xb6
add ebx, eax
add bl, 1
mov byte [ecx + edi], bl
add edi, 1
jmp 0x4191df
sub esp, 8
mov eax, dword [esi + 0x2ec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a310
mov dword [esp], eax
mov eax, dword [esi + 0x2f0]
mov dword [esp + 4], eax
call fcn.0040a310
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0xd687eaca
jmp 0x4193d5
or byte [esi], bh
std
xor eax, 0x385ff3aa
pop ds
mov al, byte [0x468bc6f9]
add al, 0xc7
add cl, ah
nop
add dword [0x104e9], ebx
add byte [esi], dl
mov ch, 0xa7
leave
retf 0x130c
jmp 0x414be4