Function at 0x413550
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 + 0x264], 0xe9a25850
lea eax, [esi + 0x264]
mov dword [esi], eax
mov eax, dword [esi + 0x264]
mov ecx, eax
sub ecx, 0x832f7665
je 0x414c93
jmp 0x413589
mov ecx, eax
sub ecx, 0x8580db96
je 0x415182
jmp 0x413599
mov ecx, eax
sub ecx, 0x869eb65f
je 0x415d91
jmp 0x4135a9
mov ecx, eax
sub ecx, 0x8a32645e
je 0x415175
jmp 0x4135b9
mov ecx, eax
sub ecx, 0x8acfb1bd
je 0x416d88
jmp 0x4135c9
mov ecx, eax
sub ecx, 0x8c3cb43c
je 0x4151c5
jmp 0x4135d9
mov ecx, eax
sub ecx, 0x8c8eb427
je 0x414cc0
jmp 0x4135e9
mov ecx, eax
sub ecx, 0x8df15bdd
je 0x415eba
jmp 0x4135f9
mov ecx, eax
sub ecx, 0x8eb5c739
je 0x416cab
jmp 0x413609
mov ecx, eax
sub ecx, 0x904eea9b
je 0x415632
jmp 0x413619
mov ecx, eax
sub ecx, 0x91c37282
je 0x416803
jmp 0x413629
mov ecx, eax
sub ecx, 0x920cd1d4
je 0x414e75
jmp 0x413639
mov ecx, eax
sub ecx, 0x945d1cad
je 0x416f5e
jmp 0x413649
mov ecx, eax
sub ecx, 0x96a44313
je 0x416d67
jmp 0x413659
mov ecx, eax
sub ecx, 0x977a2bd5
je 0x414fc4
jmp 0x413669
mov ecx, eax
sub ecx, 0x9845928d
je 0x414c5b
jmp 0x413679
mov ecx, eax
sub ecx, 0x9ad9ea20
je 0x416de8
jmp 0x413689
mov ecx, eax
sub ecx, 0x9c6f2cac
je 0x41568a
jmp 0x413699
mov ecx, eax
sub ecx, 0xa028fedd
je 0x4152b9
jmp 0x4136a9
mov ecx, eax
sub ecx, 0xa12cd678
je 0x414e09
jmp 0x4136b9
mov ecx, eax
sub ecx, 0xa1903d19
je 0x414fa3
jmp 0x4136c9
mov ecx, eax
sub ecx, 0xa66a5788
je 0x415e86
jmp 0x4136d9
mov ecx, eax
sub ecx, 0xa81dcf81
je 0x4173b0
jmp 0x4136e9
mov ecx, eax
sub ecx, 0xa84e7898
je 0x414e68
jmp 0x4136f9
mov ecx, eax
sub ecx, 0xa9beffd3
je 0x414da5
jmp 0x413709
mov ecx, eax
sub ecx, 0xab487998
je 0x415fcf
jmp 0x413719
mov ecx, eax
sub ecx, 0xab6f58ed
je 0x414dc6
jmp 0x413729
mov ecx, eax
sub ecx, 0xac14e76f
je 0x41438d
jmp 0x413739
mov ecx, eax
sub ecx, 0xacadcc8e
je 0x41661e
jmp 0x413749
mov ecx, eax
sub ecx, 0xacf6133c
je 0x416e11
jmp 0x413759
mov ecx, eax
sub ecx, 0xad330fa1
je 0x414369
jmp 0x413769
mov ecx, eax
sub ecx, 0xad36f6b0
je 0x416d4b
jmp 0x413779
mov ecx, eax
sub ecx, 0xb0913013
je 0x416a2a
jmp 0x413789
mov ecx, eax
sub ecx, 0xb0fd713f
je 0x416eee
jmp 0x413799
mov ecx, eax
sub ecx, 0xb2846516
je 0x414376
jmp 0x4137a9
mov ecx, eax
sub ecx, 0xb598e064
je 0x416611
jmp 0x4137b9
mov ecx, eax
sub ecx, 0xb6efe79d
je 0x415363
jmp 0x4137c9
mov ecx, eax
sub ecx, 0xb702c623
je 0x414e8f
jmp 0x4137d9
mov ecx, eax
sub ecx, 0xb73fd44d
je 0x4154f2
jmp 0x4137e9
mov ecx, eax
sub ecx, 0xb8658276
je 0x414f81
jmp 0x4137f9
mov ecx, eax
sub ecx, 0xb8b84cd2
je 0x416a37
jmp 0x413809
mov ecx, eax
sub ecx, 0xbd5075aa
je 0x4173be
jmp 0x413819
mov ecx, eax
sub ecx, 0xc6727ca4
je 0x4171e5
jmp 0x413829
mov ecx, eax
sub ecx, 0xc6925c93
je 0x41533d
jmp 0x413839
mov ecx, eax
sub ecx, 0xc75757ef
je 0x416f51
jmp 0x413849
mov ecx, eax
sub ecx, 0xc801f485
je 0x416db2
jmp 0x413859
mov ecx, eax
sub ecx, 0xca758d0c
je 0x41651d
jmp 0x413869
mov ecx, eax
sub ecx, 0xcaef9739
je 0x416d3e
jmp 0x413879
mov ecx, eax
sub ecx, 0xcb1964c6
je 0x41521e
jmp 0x413889
mov ecx, eax
sub ecx, 0xce6f32eb
je 0x415418
jmp 0x413899
mov ecx, eax
sub ecx, 0xce795220
je 0x416a51
jmp 0x4138a9
mov ecx, eax
sub ecx, 0xd1b0e2dd
je 0x416712
jmp 0x4138b9
mov ecx, eax
sub ecx, 0xd20725b4
je 0x416e01
jmp 0x4138c9
mov ecx, eax
sub ecx, 0xd38933e7
je 0x4167e9
jmp 0x4138d9
mov ecx, eax
sub ecx, 0xd3bf1026
je 0x41497a
jmp 0x4138e9
mov ecx, eax
sub ecx, 0xd46da82a
je 0x416f6b
jmp 0x4138f9
mov ecx, eax
sub ecx, 0xd5cb680d
je 0x415de1
jmp 0x413909
mov ecx, eax
sub ecx, 0xd5d27e18
je 0x416e2f
jmp 0x413919
mov ecx, eax
sub ecx, 0xd6ea605a
je 0x414c68
jmp 0x413929
mov ecx, eax
sub ecx, 0xda4b0ec7
je 0x4165cc
jmp 0x413939
mov ecx, eax
sub ecx, 0xdbcf603f
je 0x415bbc
jmp 0x413949
mov ecx, eax
sub ecx, 0xdbf6b086
je 0x417186
jmp 0x413959
mov ecx, eax
sub ecx, 0xe150c919
je 0x41496d
jmp 0x413969
mov ecx, eax
sub ecx, 0xe24551d4
je 0x415e61
jmp 0x413979
mov ecx, eax
sub ecx, 0xe6f21aa9
je 0x415ba3
mov eax, dword [esi]
mov dword [eax], 0xb2846516
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xac14e76f
mov dword [esi + 0x1bc], 0
jmp 0x4173ca
mov eax, dword [esi + 0x1bc]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xdc]
sub esp, 4
mov dword [esp], eax
call fcn.00401be0
add esp, 4
mov ecx, 0x4acfb8e7
cmp dword [esi + 0xe0], eax
jb 0x4143bf
mov ecx, 0x2954edf3
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xd3bf1026
jmp 0x4173ca
cmp dword [esi + 0x230], 0
sete al
and al, 1
mov byte [esi + 0x11], al
mov eax, dword [esi]
mov dword [eax], 0x3da281ef
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xd6ea605a
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x3c6ef1ce
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x6205add
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xf87a3346
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1cc], 4
mov dword [esi + 0x1c8], eax
jmp 0x4173ca
mov eax, dword [esi + 0xec]
sub esp, 4
mov dword [esp], eax
call fcn.004085a0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xab6f58ed
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x7be1f067
jmp 0x4173ca
mov eax, dword [esi + 0x338]
sub esp, 4
mov dword [esp], eax
call fcn.0043b400
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x1907e948
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c4], 4
mov dword [esi + 0x1c0], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x920cd1d4
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x5cb6b4bf
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x1907e948
mov eax, dword [esi + 0xec]
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x1c0], eax
jmp 0x4173ca
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov dword [esi + 0x23c], eax
mov dword [esi + 0x7c], ecx
mov eax, dword [esi]
mov dword [eax], 0xa1903d19
jmp 0x4173ca
mov eax, dword [esi + 0x23c]
cmp eax, dword [esi + 0x344]
setb al
and al, 1
mov byte [esi + 0x25], al
mov eax, dword [esi]
mov dword [eax], 0x977a2bd5
jmp 0x4173ca
mov eax, 0x8a32645e
test byte [esi + 0x25], 1
jne 0x414fd4
mov eax, 0x2b4c7092
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x8580db96
jmp 0x4173ca
call fcn.00408d90
mov ecx, 0x24
cdq
idiv ecx
movsx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, dword [esi + 0x7c]
add ecx, 2
mov dword [esi + 0x348], ecx
mov ecx, dword [esi + 0x7c]
mov word [ecx], ax
mov eax, dword [esi + 0x23c]
add eax, 1
mov dword [esi + 0x34c], eax
mov eax, dword [esi]
mov dword [eax], 0x8c3cb43c
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xb8658276
mov eax, dword [esi + 0x34c]
mov ecx, dword [esi + 0x348]
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], eax
jmp 0x4173ca
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
add eax, 4
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41523c
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408590
add esp, 4
mov dword [esi + 0x1c], eax
mov ebx, dword [0x44cf38]
mov ecx, dword [esi + 0x64]
mov eax, dword [ecx]
mov dword [esi + 0x27c], eax
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x240]
mov eax, dword [esi + 0x64]
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x60]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x27c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x270]
mov dword [esp + 0x14], eax
call ebx
mov ecx, 0x5ce6c8a8
cmp eax, 0
jge 0x4152b0
mov ecx, 0xa028fedd
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x117c988f
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x2b6493c2
jmp 0x4173ca
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x318]
mov eax, dword [esi + 0xc8]
mov cl, byte [ecx]
mov byte [esi + 0x158], cl
mov byte [eax], 0x56
mov byte [eax + 1], 0x7b
mov byte [eax + 2], 0xe1
mov byte [eax + 3], 0x79
mov byte [eax + 4], 0xf0
mov byte [eax + 5], 0x7f
mov byte [eax + 6], 0xe5
mov byte [eax + 7], 0x7d
mov byte [eax + 8], 0x7c
mov byte [eax + 9], 0x73
mov ecx, 0xa
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0xc
jne 0x4153a9
mov eax, dword [esi + 0xc8]
xor ecx, ecx
cmp ecx, 0xc
jae 0x4153f6
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x31780fbf
xor edx, edi
mov edi, edx
xor edi, 0xf7584ebc
shl edx, 1
and edx, 0x114f6286
sub edx, edi
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, edi
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x4153bd
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417800
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0x66c1dfcd
jmp 0x4173ca
cmp dword [esi + 8], 1
sete al
and al, 1
mov byte [esi + 0x27], al
mov eax, dword [esi]
mov dword [eax], 0x560b0fe0
jmp 0x4173ca
cmp dword [esi + 8], 2
sete al
and al, 1
mov byte [esi + 0x28], al
mov eax, dword [esi]
mov dword [eax], 0xf98854fe
jmp 0x4173ca
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x244], eax
mov dword [esi + 0x248], ecx
mov eax, 0x9c6f2cac
cmp dword [esi + 0x248], 0
je 0x41565d
mov eax, 0xfea7f1d7
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x248]
mov ecx, dword [esi + 0x244]
mov edx, dword [esi + 0x244]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x1d8], edx
jmp 0x4173ca
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x350], eax
mov eax, dword [esi]
mov dword [eax], 0xfea7f1d7
mov eax, dword [esi + 0x350]
mov dword [esi + 0x9c], 0
mov dword [esi + 0x98], eax
jmp 0x4173ca
mov eax, dword [esi + 0x250]
add eax, 0xef0d16f6
sub eax, 0xef0d16ed
add eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415bf9
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408590
add esp, 4
mov dword [esi + 0x254], eax
mov ecx, dword [esi + 0x220]
mov eax, dword [esi + 0x70]
mov cl, byte [ecx]
mov byte [esi + 0x170], cl
mov byte [eax], 0xe
mov byte [eax + 1], 0x9f
mov byte [eax + 2], 9
mov byte [eax + 3], 0x91
mov byte [eax + 4], 0xe
mov byte [eax + 5], 0x93
mov byte [eax + 6], 0x36
mov byte [eax + 7], 0x95
mov byte [eax + 8], 8
mov byte [eax + 9], 0x97
mov byte [eax + 0xa], 0xa
mov byte [eax + 0xb], 0x89
mov byte [eax + 0xc], 0xdd
mov byte [eax + 0xd], 0x8b
mov byte [eax + 0xe], 0xd8
mov byte [eax + 0xf], 0x8d
mov byte [eax + 0x10], 0x8c
mov byte [eax + 0x11], 0x8f
mov ecx, 0x12
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x18
jne 0x415c6a
mov ecx, dword [esi + 0x70]
xor ebx, ebx
cmp ebx, 0x18
jae 0x415d0f
movzx edx, byte [ecx + ebx]
mov edi, ebx
add edi, 0xb9c81da5
mov eax, edi
shl eax, 1
mov dword [esi + 0x2e0], ecx
mov ecx, ebx
add ecx, 0xb9c81da4
sub ecx, eax
and ecx, 0x92871501
mov eax, edi
xor eax, 0x92871501
or edi, 0x6d78eafe
and edi, eax
mov eax, edx
and eax, 1
or eax, 0x425030dc
and edx, 0xfe
xor edx, eax
or ecx, edi
xor edx, ecx
mov edi, edx
xor edi, 0x2f28da22
mov ecx, 0x5f176bc5
sub ecx, edi
mov eax, ecx
and eax, 1
add edi, 2
and edi, 4
and ecx, 0xfb
or edi, ecx
mov ecx, dword [esi + 0x2e0]
xor edi, 5
and edx, 1
xor edx, 1
or edi, edx
add eax, edi
mov byte [ecx + ebx], al
add ebx, 1
jmp 0x415c7b
mov eax, dword [esi + 0x254]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a140
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 + 0xc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a140
add esp, 8
mov ecx, eax
add ecx, 2
mov dword [esi + 0x100], ecx
mov word [eax], 0x22
cmp dword [esi + 0xc], 0
sete al
and al, 1
mov byte [esi + 0x2a], al
mov eax, dword [esi]
mov dword [eax], 0xf20b5ff7
jmp 0x4173ca
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004085a0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x70b4f279
jmp 0x4173ca
mov eax, dword [esi + 0x100]
add eax, 2
mov dword [esi + 0x258], eax
mov eax, dword [esi + 0x100]
mov word [eax], 0x2c
mov eax, dword [esi]
mov dword [eax], 0x7ee48505
jmp 0x4173ca
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x104], eax
mov eax, 0xa66a5788
test byte [esi + 0x13], 1
jne 0x415e7d
mov eax, 0x636d5f1b
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x596782b0
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x5f81d6ff
jmp 0x4173ca
mov ecx, dword [esi + 0x32c]
mov eax, dword [esi + 0x224]
mov cl, byte [ecx]
mov byte [esi + 0x174], cl
mov byte [eax], 0xa6
mov byte [eax + 1], 0x89
mov byte [eax + 2], 0xb6
mov byte [eax + 3], 0xb7
mov ecx, 4
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 8
jne 0x415ff7
mov edi, dword [esi + 0x224]
xor eax, eax
cmp eax, 8
jae 0x41604f
movzx edx, byte [edi + eax]
mov ecx, eax
add ecx, 0x7840559d
mov ebx, 0x7bfaa62
sub ebx, eax
and ebx, 0x472bbbbf
and ecx, 0xb8d44440
sub ecx, ebx
xor ecx, edx
mov edx, ecx
xor edx, 0x56
or ecx, 0xa98fea9
mov ebx, ecx
and ebx, edx
add ecx, ebx
add cl, 1
mov byte [edi + eax], cl
add eax, 1
jmp 0x41600b
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0x330]
mov eax, dword [esi + 0xd4]
mov cl, byte [ecx]
mov byte [esi + 0x178], 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 0x416155
mov eax, dword [esi + 0xd4]
xor ecx, ecx
cmp ecx, 0x3d
jae 0x41618c
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0x1b
xor dh, dl
add dh, 0x79
mov byte [eax + ecx], dh
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
jmp 0x416169
mov ecx, dword [esi + 0x25c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a140
add esp, 8
mov ecx, dword [esi + 0xc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a140
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0040a140
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0xf26f1841
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov dword [esi + 0xa8], edx
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa0], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xf0df3909
jmp 0x4173ca
mov eax, 0xce795220
cmp dword [esi + 0x88], 2
je 0x4165df
mov eax, 0x4d3fc91c
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xacadcc8e
jmp 0x4173ca
mov eax, 0xf3692c72
test byte [esi + 0x11], 1
jne 0x41662e
mov eax, 0x91c37282
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov dword [esi + 0x2b8], eax
mov al, byte [esi + 0x124]
mov byte [esi + 0x18c], al
mov byte [esi + 0x44], 0xc5
mov byte [esi + 0x45], 0xc6
mov byte [esi + 0x46], 0xc7
mov byte [esi + 0x47], 0xc0
xor eax, eax
cmp eax, 4
jae 0x41675a
mov cl, byte [esi + eax + 0x44]
mov dl, al
add dl, 0xb1
xor dl, cl
add dl, 0x8b
mov byte [esi + eax + 0x44], dl
add eax, 1
jmp 0x41673e
mov ecx, dword [esi + 0x44]
xor edi, edi
cmp edi, dword [0x44cf3c]
jb 0x416769
jmp 0x4167c9
mov eax, dword [0x44cf40]
cmp dword [eax + edi*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x41677f
jmp 0x4167bd
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4167bd
mov dword [esi + 0x294], ecx
mov ecx, dword [0x44cf44]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x2b8]
mov dword [esp + 0xc], eax
call fcn.0043df80
mov ecx, dword [esi + 0x294]
add esp, 0x10
test bl, 1
je 0x4167c4
jmp 0x4167c9
add edi, 1
jmp 0x41675f
mov eax, dword [esi]
mov dword [eax], 0xf0e15949
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x3f38eb9b
jmp 0x4173ca
mov eax, dword [0x44cf30]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x737de518
call fcn.0043f910
add esp, 8
test eax, eax
setne cl
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
xor edx, edx
lea edx, [0x423570]
sub esp, 0x18
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
mov dword [esi + 0x10c], eax
mov eax, 0x3a1d8a84
cmp dword [esi + 0x10c], 0
jne 0x416875
mov eax, 0xb0913013
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xb8b84cd2
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x3d32850e
jmp 0x4173ca
mov eax, dword [esi + 0x78]
mov eax, dword [esi + 0x78]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.00408720
add esp, 0xc
mov eax, dword [esi + 0x78]
mov dword [eax], 0x44
mov eax, dword [0x44cf30]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.0043f910
add esp, 8
cmp eax, 0
setne cl
test cl, 1
jne 0x416aa6
test cl, 1
jne 0x416aad
xor eax, eax
mov edi, dword [esi + 0x80]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x78]
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, 0x53d9a19
cmp eax, 0
jne 0x416b12
mov ecx, 0x8eb5c739
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x4173ca
mov eax, dword [esi + 0x2c]
mov eax, dword [esi]
mov dword [eax], 0x4d3fc91c
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xad36f6b0
jmp 0x4173ca
mov eax, 0x8acfb1bd
cmp dword [esi + 0x80], 0
je 0x416d5e
mov eax, 0x96a44313
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x4173ca
mov eax, dword [esi + 0x80]
sub esp, 4
mov dword [esp], eax
call fcn.004085a0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x8acfb1bd
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xffc8f8e5
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x396126cd
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xac14e76f
mov eax, dword [esi + 0x384]
mov dword [esi + 0x1bc], eax
jmp 0x4173ca
mov al, byte [esi + 0x10]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00401a00
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x3d0842bd
jmp 0x4173ca
pop ebx
popal
xor esp, ebp
sbb eax, 0x81391b85
xchg esi, eax
mov bl, 0xe3
mov eax, dword [esi]
mov dword [eax], 0xad330fa1
jmp 0x4173ca
mov bl, 0x6b
sub cl, ch
stc
add al, 0
add cl, ah
or ah, ch
outsd dx, dword [esi]
push esp
sahf
daa
mov al, 0xe0
mov eax, 0x98ca3b0a
pop edx
mov eax, dword [esi]
mov dword [eax], 0x1f948f6d
jmp 0x4173ca
cld
test dword [edi + ebp*4 + 0xc7068b], ecx
adc byte es:[edi + 0x4cbe9d3], bh
add byte [eax], al
jns 0x416ec9
add al, 0x76
mov esp, 0x61d8cbf8
test dword [edi - 0x65], edx
mov eax, dword [esi]
mov dword [eax], 0x9845928d
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0x920cd1d4
jmp 0x4173ca
mov eax, dword [esi]
mov dword [eax], 0xa1903d19
jmp 0x4173ca
call fcn.00408d90
movsx eax, byte [eax + 0x443b9c]
mov ecx, dword [esi + 0x7c]
mov word [ecx], ax
mov eax, dword [esi]
mov dword [eax], 0x8580db96
jmp 0x4173ca
push es
mov dword [eax], 0xdbcf603f
jmp 0x4173ca
dec ecx
jl 0x41717a
xor dword [ebp - 0x396df936], esi
jmp 0x417208
inc eax
and eax, 0x68b8154
mov dword [eax], 0xb8b84cd2
jmp 0x4173ca
adc al, 1
add byte [eax], al
mov byte [esi + 0x19c], al
mov byte [esi + 0x34], 0xc5
mov byte [esi + 0x35], 0xc6
mov byte [esi + 0x36], 0xc7
mov byte [esi + 0x37], 0xc0
xor eax, eax
cmp eax, 4
jae 0x417240
mov cl, byte [esi + eax + 0x34]
mov dl, al
add dl, 0xb1
xor dl, cl
add dl, 0x8b
mov byte [esi + eax + 0x34], dl
add eax, 1
jmp 0x417224
mov eax, dword [esi + 0x34]
mov dword [esi + 0x2cc], eax
xor edi, edi
cmp edi, dword [0x44cf3c]
jb 0x417255
jmp 0x4172af
mov eax, dword [0x44cf40]
cmp dword [eax + edi*8], 0x1b6183f2
sete cl
mov bl, cl
test cl, 1
jne 0x41726d
jmp 0x4172a3
mov eax, dword [eax + edi*8 + 4]
cmp eax, dword [esi + 0x2cc]
je 0x4172a3
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x2a4], eax
mov al, byte [esi + 0x110]
mov byte [esi + 0x1a0], al
mov byte [esi + 0x30], 0xc5
mov byte [esi + 0x31], 0xc6
mov byte [esi + 0x32], 0xc7
mov byte [esi + 0x33], 0xc0
xor eax, eax
cmp eax, 4
jae 0x4172f4
inc ebp
inc eax
xor ebx, dword [esi]
mov eax, dword [esi]
mov dword [eax], 0xfd433997
jmp 0x4173ca
or eax, 0x8bdec3bd
push es
mov dword [eax], 0x4d930327
jmp 0x413573