Function at 0x413dc0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x970
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004019a0
mov dword [esp + 0xf8], eax
mov dword [esp + 0x314], 0x262e3478
lea eax, [esp + 0x314]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x314]
mov ecx, eax
sub ecx, 0x80638df5
je 0x414f8e
jmp 0x413e0e
mov ecx, eax
sub ecx, 0x809229dc
je 0x41712a
jmp 0x413e1e
mov ecx, eax
sub ecx, 0x810abe44
je 0x415e19
jmp 0x413e2e
mov ecx, eax
sub ecx, 0x82e77965
je 0x4176e1
jmp 0x413e3e
mov ecx, eax
sub ecx, 0x841a659b
je 0x416461
jmp 0x413e4e
mov ecx, eax
sub ecx, 0x868810ac
je 0x4169fb
jmp 0x413e5e
mov ecx, eax
sub ecx, 0x87ea59f9
je 0x41788c
jmp 0x413e6e
mov ecx, eax
sub ecx, 0x8a0ec2e3
je 0x4152fe
jmp 0x413e7e
mov ecx, eax
sub ecx, 0x8d9a5f71
je 0x417438
jmp 0x413e8e
mov ecx, eax
sub ecx, 0x8ff8f05e
je 0x417d79
jmp 0x413e9e
mov ecx, eax
sub ecx, 0x90994ef3
je 0x414f50
jmp 0x413eae
mov ecx, eax
sub ecx, 0x97e5f11b
je 0x415386
jmp 0x413ebe
mov ecx, eax
sub ecx, 0x98d26bc8
je 0x416a4e
jmp 0x413ece
mov ecx, eax
sub ecx, 0x9b5dc250
je 0x41504a
jmp 0x413ede
mov ecx, eax
sub ecx, 0x9c687fda
je 0x417e2a
jmp 0x413eee
mov ecx, eax
sub ecx, 0x9d862094
je 0x415de2
jmp 0x413efe
mov ecx, eax
sub ecx, 0x9e1f1a87
je 0x415355
jmp 0x413f0e
mov ecx, eax
sub ecx, 0x9e5893ba
je 0x416586
jmp 0x413f1e
mov ecx, eax
sub ecx, 0x9f436f1c
je 0x415d6d
jmp 0x413f2e
mov ecx, eax
sub ecx, 0x9f482ee9
je 0x415549
jmp 0x413f3e
mov ecx, eax
sub ecx, 0x9f48e9b1
je 0x417d9c
jmp 0x413f4e
mov ecx, eax
sub ecx, 0x9fb6ca05
je 0x417685
jmp 0x413f5e
mov ecx, eax
sub ecx, 0xa19e85ef
je 0x4177be
jmp 0x413f6e
mov ecx, eax
sub ecx, 0xa1cc4bb1
je 0x414993
jmp 0x413f7e
mov ecx, eax
sub ecx, 0xa2e489c4
je 0x415ff7
jmp 0x413f8e
mov ecx, eax
sub ecx, 0xa4943d2d
je 0x417454
jmp 0x413f9e
mov ecx, eax
sub ecx, 0xa5b1cbf9
je 0x4151c9
jmp 0x413fae
mov ecx, eax
sub ecx, 0xa79b0507
je 0x415488
jmp 0x413fbe
mov ecx, eax
sub ecx, 0xa8adb80b
je 0x416b14
jmp 0x413fce
mov ecx, eax
sub ecx, 0xa9673e65
je 0x41629a
jmp 0x413fde
mov ecx, eax
sub ecx, 0xa9f1e67e
je 0x417fe0
jmp 0x413fee
mov ecx, eax
sub ecx, 0xaa689a36
je 0x415a86
jmp 0x413ffe
mov ecx, eax
sub ecx, 0xaadc58b7
je 0x41763c
jmp 0x41400e
mov ecx, eax
sub ecx, 0xad23d146
je 0x4179d7
jmp 0x41401e
mov ecx, eax
sub ecx, 0xae503e81
je 0x415d31
jmp 0x41402e
mov ecx, eax
sub ecx, 0xaf14a9de
je 0x417813
jmp 0x41403e
mov ecx, eax
sub ecx, 0xb219057d
je 0x415e37
jmp 0x41404e
mov ecx, eax
sub ecx, 0xb491aa26
je 0x4170b2
jmp 0x41405e
mov ecx, eax
sub ecx, 0xb5cb845a
je 0x4161f6
jmp 0x41406e
mov ecx, eax
sub ecx, 0xb8f991ed
je 0x41762d
jmp 0x41407e
mov ecx, eax
sub ecx, 0xb9dc1117
je 0x4169c2
jmp 0x41408e
mov ecx, eax
sub ecx, 0xbc659c1f
je 0x416e5e
jmp 0x41409e
mov ecx, eax
sub ecx, 0xbeb50fa1
je 0x417dd6
jmp 0x4140ae
mov ecx, eax
sub ecx, 0xbf4b9c1a
je 0x415190
jmp 0x4140be
mov ecx, eax
sub ecx, 0xc4533ce9
je 0x41623c
jmp 0x4140ce
mov ecx, eax
sub ecx, 0xc9b04245
je 0x416191
jmp 0x4140de
mov ecx, eax
sub ecx, 0xcb07357f
je 0x4149f7
jmp 0x4140ee
mov ecx, eax
sub ecx, 0xcc990133
je 0x414bc6
jmp 0x4140fe
mov ecx, eax
sub ecx, 0xcf4e6635
je 0x416446
jmp 0x41410e
mov ecx, eax
sub ecx, 0xcf82455c
je 0x4165b9
jmp 0x41411e
mov ecx, eax
sub ecx, 0xd061d3ba
je 0x41779e
jmp 0x41412e
mov ecx, eax
sub ecx, 0xd1140b4b
je 0x4158cb
jmp 0x41413e
mov ecx, eax
sub ecx, 0xd1b098e0
je 0x415751
jmp 0x41414e
mov ecx, eax
sub ecx, 0xd24b499a
je 0x4157ef
jmp 0x41415e
mov ecx, eax
sub ecx, 0xd24d1c76
je 0x414a06
jmp 0x41416e
mov ecx, eax
sub ecx, 0xd2b9fbbe
je 0x41764b
jmp 0x41417e
mov ecx, eax
sub ecx, 0xd3bc7efb
je 0x414f5f
jmp 0x41418e
mov ecx, eax
sub ecx, 0xd51f55fa
je 0x416df2
jmp 0x41419e
mov ecx, eax
sub ecx, 0xd549499d
je 0x415245
jmp 0x4141ae
mov ecx, eax
sub ecx, 0xd5ab918f
je 0x414faa
jmp 0x4141be
mov ecx, eax
sub ecx, 0xd639d749
je 0x41778f
jmp 0x4141ce
mov ecx, eax
sub ecx, 0xd6c30d14
je 0x414f41
jmp 0x4141de
mov ecx, eax
sub ecx, 0xd76f7f76
je 0x417d4f
jmp 0x4141ee
mov ecx, eax
sub ecx, 0xd8e7b4c3
je 0x415d09
jmp 0x4141fe
mov ecx, eax
sub ecx, 0xdaf63aab
je 0x41497f
mov eax, dword [esp + 0x28]
mov dword [eax], 0xcdda68e
mov dword [esp + 0x318], 0
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd24d1c76
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf3a67c23
mov byte [esp + 0x40], 1
jmp 0x41800a
mov al, byte [esp + 0x168]
mov byte [esp + 0x1dc], al
mov byte [esp + 0x3b8], 0xbd
mov byte [esp + 0x3b9], 0x19
mov eax, 2
mov byte [esp + eax + 0x3b8], 0
add eax, 1
cmp eax, 6
jne 0x414be9
xor eax, eax
cmp eax, 6
jae 0x414c25
mov cl, byte [esp + eax + 0x3b8]
mov dl, al
add dl, 0xfa
xor dl, cl
add dl, 0x1e
mov byte [esp + eax + 0x3b8], dl
mov ecx, eax
shl ecx, 1
or ecx, 1
sub ecx, eax
mov eax, ecx
jmp 0x414bfb
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x3b8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b10
cmp eax, 0
setne cl
xor cl, 0xff
mov eax, 0x12144c1c
test cl, 1
jne 0x414c5c
mov eax, 0x744d7ff6
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x90994ef3
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd3bc7efb
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x63c7e148
jmp 0x41800a
mov eax, 0xd5ab918f
test byte [esp + 0x41], 1
jne 0x414f9f
mov eax, 0x43f81aa0
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov al, byte [esp + 0x158]
mov byte [esp + 0x1ec], al
mov byte [esp + 0x39c], 0x7c
mov byte [esp + 0x39d], 0xb
mov eax, 2
mov byte [esp + eax + 0x39c], 0
add eax, 1
cmp eax, 6
jne 0x414fcd
xor eax, eax
cmp eax, 6
jae 0x41500d
movzx edx, byte [esp + eax + 0x39c]
mov ecx, eax
add ecx, 0x1a803303
mov esi, ecx
xor esi, edx
xor ecx, edx
shl ecx, 1
sub ecx, esi
add cl, 0xf1
mov byte [esp + eax + 0x39c], cl
add eax, 1
jmp 0x414fdf
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x39c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401890
mov dword [esp + 0x100], eax
mov eax, 0x9b5dc250
cmp dword [esp + 0x100], 0
jne 0x41503f
mov eax, 0xef4f239d
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.00418030
mov dword [esp + 0xac], eax
mov esi, dword [esp + 0xac]
add esi, 1
mov ecx, 2
mov eax, esi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415082
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x100]
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040ad30
mov eax, dword [0x44d2b4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xac]
xor esi, esi
lea esi, [esp + 0x90]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], esi
call eax
sub esp, 0x18
mov cl, byte [esp + 0x14c]
mov byte [esp + 0x1f0], cl
mov byte [esp + 0x150], 0x13
mov byte [esp + 0x151], 0x31
mov byte [esp + 0x152], 0x32
mov byte [esp + 0x153], 0x73
mov ecx, 4
mov byte [esp + ecx + 0x150], 0
add ecx, 1
cmp ecx, 6
jne 0x415127
xor ecx, ecx
cmp ecx, 6
jae 0x415170
mov bl, byte [esp + ecx + 0x150]
mov esi, ecx
add esi, 0x74
mov edx, 0xb
sub edx, ecx
and edx, 0x9a
and esi, 0x65
or edx, esi
xor dl, bl
xor dl, 0x9a
add dl, 0x3c
mov byte [esp + ecx + 0x150], dl
add ecx, 1
jmp 0x415139
mov edx, dword [esp + 0x150]
mov ecx, 0xbf4b9c1a
cmp eax, edx
je 0x415185
mov ecx, 0x3c0b8193
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xe8fb3e02
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x7f1c05dd
jmp 0x41800a
mov eax, dword [esp + 0x90]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415262
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov dword [esp + 0x104], eax
mov eax, dword [0x44d2b4]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xac]
xor ebx, ebx
lea ebx, [esp + 0x90]
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 + 0x78], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0xcd1aee0
jmp 0x41800a
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call fcn.00408390
mov eax, dword [esp + 0x28]
mov dword [eax], 0x5ef573df
jmp 0x41800a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0043b070
mov eax, dword [esp + 0x28]
mov dword [eax], 0x49c09bf3
mov eax, dword [esp + 0x38]
mov dword [esp + 0x320], 4
mov dword [esp + 0x31c], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x66899c31
jmp 0x41800a
mov eax, 0x433509cd
test byte [esp + 0x79], 1
jne 0x415499
mov eax, 0xd8e7b4c3
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x35c]
mov edx, dword [esp + 0x35c]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x334], edx
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x3b9805b7
jmp 0x41800a
call fcn.00408ad0
mov ecx, 0x24
cdq
idiv ecx
movsx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, dword [esp + 0xb0]
add ecx, 2
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0xb0]
mov word [ecx], ax
mov eax, dword [esp + 0x364]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0x5cbc9f8c
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x330], ecx
mov dword [esp + 0x32c], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6b56fe87
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd0], 0
jmp 0x41800a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0043b070
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6b56fe87
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd0], eax
jmp 0x41800a
mov al, byte [esp + 0x138]
mov byte [esp + 0x208], al
mov byte [esp + 0x2f4], 0x42
mov byte [esp + 0x2f5], 0x9f
mov byte [esp + 0x2f6], 0x3a
mov byte [esp + 0x2f7], 0x91
mov byte [esp + 0x2f8], 0xc
mov byte [esp + 0x2f9], 0x93
mov byte [esp + 0x2fa], 0xe
mov byte [esp + 0x2fb], 0x95
mov byte [esp + 0x2fc], 0x94
mov byte [esp + 0x2fd], 0x97
mov eax, 0xa
mov byte [esp + eax + 0x2f4], 0
add eax, 1
cmp eax, 0xd
jne 0x415ae9
xor eax, eax
cmp eax, 0xd
jae 0x415b29
movzx edx, byte [esp + eax + 0x2f4]
mov ecx, eax
add ecx, 0x74188c65
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 7
mov byte [esp + eax + 0x2f4], cl
add eax, 1
jmp 0x415afb
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x2f4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00418410
mov eax, dword [esp + 0x28]
mov dword [eax], 0x61bafb5e
jmp 0x41800a
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x3e0], ecx
mov eax, dword [esp + 0x28]
mov dword [eax], 0xae503e81
jmp 0x41800a
cmp dword [esp + 0x3e0], 0
sete al
and al, 1
mov byte [esp + 0x7a], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x1b227339
jmp 0x41800a
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
xor edx, edx
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.0043fd80
mov dword [esp + 0x374], eax
mov eax, 0x9d862094
cmp dword [esp + 0x374], 0
jge 0x415dc9
mov eax, 0x133502d6
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x338], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x36bd7942
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x21ddaaf4
jmp 0x41800a
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x378]
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.004404c0
mov dword [esp + 0x3e4], eax
mov esi, dword [esp + 0xc0]
mov al, byte [esp + 0x1c8]
mov byte [esp + 0x240], al
mov byte [esp + 0x1cc], 0x37
mov byte [esp + 0x1cd], 0x36
mov byte [esp + 0x1ce], 0x35
mov byte [esp + 0x1cf], 0x34
mov eax, 4
mov byte [esp + eax + 0x1cc], 0
add eax, 1
cmp eax, 5
jne 0x415ea7
xor eax, eax
cmp eax, 5
jae 0x415edb
mov cl, byte [esp + eax + 0x1cc]
mov dl, al
add dl, 0xcc
xor dl, cl
add dl, 4
mov byte [esp + eax + 0x1cc], dl
add eax, 1
jmp 0x415eb9
mov edi, dword [esp + 0x1cc]
xor ebx, ebx
cmp ebx, dword [0x44d2b8]
jb 0x415eee
jmp 0x415f3e
mov eax, dword [0x44d2bc]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
test cl, 1
jne 0x415f04
jmp 0x415f32
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x415f32
mov byte [esp + 0x6f], cl
mov ecx, dword [0x44d2c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043d920
mov cl, byte [esp + 0x6f]
test cl, 1
je 0x415f39
jmp 0x415f3e
add ebx, 1
jmp 0x415ee4
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2bc3426d
jmp 0x41800a
mov eax, 0x7890bc45
test byte [esp + 0x7b], 1
jne 0x416008
mov eax, 0xcf82455c
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, 0x7748b232
test byte [esp + 0x42], 1
jne 0x4161a2
mov eax, 0xb5cb845a
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov dword [esp + 0x33c], 0
jmp 0x41800a
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x380], eax
cmp dword [esp + 0xb4], 0
setne al
and al, 1
mov byte [esp + 0x43], al
mov eax, 0xc4533ce9
test byte [esp + 0x43], 1
jne 0x416226
mov eax, 0xa9673e65
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov dword [esp + 0x340], 0
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x28d08120
jmp 0x41800a
mov eax, dword [esp + 0x340]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e8]
add eax, 0x2e892da7
add eax, 0xd176d262
add eax, dword [esp + 0x380]
add eax, dword [esp + 0x384]
sub eax, 0xcf8e95a8
add eax, 1
add eax, 0xcf8e95a8
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4162ea
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov dword [esp + 0x388], eax
mov al, byte [esp + 0x130]
mov byte [esp + 0x220], al
mov byte [esp + 0x2dc], 0x92
mov byte [esp + 0x2dd], 0x21
mov byte [esp + 0x2de], 0x97
mov byte [esp + 0x2df], 0x23
mov byte [esp + 0x2e0], 0x9a
mov byte [esp + 0x2e1], 0x25
mov byte [esp + 0x2e2], 0x82
mov byte [esp + 0x2e3], 0x27
mov byte [esp + 0x2e4], 0x84
mov byte [esp + 0x2e5], 0x39
mov byte [esp + 0x2e6], 0x86
mov byte [esp + 0x2e7], 0x3b
mov byte [esp + 0x2e8], 0x4f
mov byte [esp + 0x2e9], 0x3d
mov byte [esp + 0x2ea], 0x4c
mov byte [esp + 0x2eb], 0x3f
mov byte [esp + 0x2ec], 0x30
mov byte [esp + 0x2ed], 0x31
mov eax, 0x12
mov byte [esp + eax + 0x2dc], 0
add eax, 1
cmp eax, 0x18
jne 0x41639c
xor eax, eax
cmp eax, 0x18
jae 0x4163dc
movzx edx, byte [esp + eax + 0x2dc]
mov ecx, eax
add ecx, 0x3f222708
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 0xd8
mov byte [esp + eax + 0x2dc], cl
add eax, 1
jmp 0x4163ae
mov eax, dword [esp + 0x388]
lea ecx, [esp + 0x2dc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a0b0
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.0040a0b0
mov ecx, eax
add ecx, 2
mov dword [esp + 0x10c], ecx
mov word [eax], 0x22
mov eax, 0x841a659b
cmp dword [esp + 0x3c], 0
je 0x41643b
mov eax, 0xcf4e6635
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00408390
mov eax, dword [esp + 0x28]
mov dword [eax], 0x841a659b
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x1d37eaad
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xb9dc1117
mov eax, dword [esp + 0x388]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6c3d4f15
jmp 0x41800a
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x400], edx
mov eax, dword [esp + 0x28]
mov dword [eax], 0x868810ac
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2771b336
jmp 0x41800a
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x34c]
mov edx, dword [esp + 0x350]
mov esi, dword [esp + 0x354]
mov dword [esp + 0x404], eax
mov dword [esp + 0x408], ecx
mov dword [esp + 0x40c], edx
mov eax, 0x2b2435ef
cmp esi, 0
je 0x416a8e
mov eax, 0x63c7e148
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov edx, dword [esp + 0x404]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], edx
jmp 0x41800a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00418030
mov esi, eax
mov eax, esi
and eax, 1
shl eax, 1
xor esi, 1
add esi, eax
mov ecx, 2
mov eax, esi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416b46
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x110]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040ad30
mov eax, dword [esp + 0x3a4]
add eax, 0x18
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416b9d
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov dword [esp + 0x394], eax
mov al, byte [esp + 0x11c]
mov byte [esp + 0x22c], al
mov byte [esp + 0x2a4], 0x50
mov byte [esp + 0x2a5], 0xc1
mov byte [esp + 0x2a6], 0x6d
mov byte [esp + 0x2a7], 0xc3
mov byte [esp + 0x2a8], 0x53
mov byte [esp + 0x2a9], 0xc5
mov byte [esp + 0x2aa], 0x63
mov byte [esp + 0x2ab], 0xc7
mov byte [esp + 0x2ac], 0x5a
mov byte [esp + 0x2ad], 0xc9
mov byte [esp + 0x2ae], 0x59
mov byte [esp + 0x2af], 0xcb
mov byte [esp + 0x2b0], 0x64
mov byte [esp + 0x2b1], 0xcd
mov byte [esp + 0x2b2], 0x6b
mov byte [esp + 0x2b3], 0xcf
mov byte [esp + 0x2b4], 0x1c
mov byte [esp + 0x2b5], 0xb1
mov byte [esp + 0x2b6], 0x1e
mov byte [esp + 0x2b7], 0xb3
mov byte [esp + 0x2b8], 0x54
mov byte [esp + 0x2b9], 0xb5
mov byte [esp + 0x2ba], 0x5b
mov byte [esp + 0x2bb], 0xb7
mov byte [esp + 0x2bc], 0x1d
mov byte [esp + 0x2bd], 0xb9
mov byte [esp + 0x2be], 0x22
mov byte [esp + 0x2bf], 0xbb
mov byte [esp + 0x2c0], 0x19
mov byte [esp + 0x2c1], 0xbd
mov byte [esp + 0x2c2], 0x1d
mov byte [esp + 0x2c3], 0xbf
mov byte [esp + 0x2c4], 0x40
mov byte [esp + 0x2c5], 0xa1
mov byte [esp + 0x2c6], 0
mov byte [esp + 0x2c7], 0xa3
mov byte [esp + 0x2c8], 0x3d
mov byte [esp + 0x2c9], 0xa5
mov byte [esp + 0x2ca], 0x36
mov byte [esp + 0x2cb], 0xa7
mov byte [esp + 0x2cc], 9
mov byte [esp + 0x2cd], 0xa9
mov byte [esp + 0x2ce], 0x39
mov byte [esp + 0x2cf], 0xab
mov byte [esp + 0x2d0], 0x3f
mov byte [esp + 0x2d1], 0xad
mov byte [esp + 0x2d2], 0x4e
mov byte [esp + 0x2d3], 0xaf
mov byte [esp + 0x2d4], 0x90
mov byte [esp + 0x2d5], 0x91
mov eax, 0x32
mov byte [esp + eax + 0x2a4], 0
add eax, 1
cmp eax, 0x38
jne 0x416d4f
xor eax, eax
cmp eax, 0x38
jae 0x416d98
movzx edx, byte [esp + eax + 0x2a4]
mov ecx, eax
add ecx, 0x758e630
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 0x10
mov byte [esp + eax + 0x2a4], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x416d61
mov eax, dword [esp + 0x394]
lea ecx, [esp + 0x2a4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a0b0
mov ecx, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a0b0
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2612136d
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0x2b2435ef
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], 0
mov dword [esp + 0xec], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xe374063f
jmp 0x41800a
mov eax, dword [0x44d2ac]
mov dword [esp], eax
mov dword [esp + 4], 0x737de518
call fcn.0043f550
test eax, eax
setne cl
mov ecx, dword [esp + 0x2c]
xor edx, edx
lea edx, [0x423aa0]
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 + 0x118], eax
mov eax, 0x809229dc
cmp dword [esp + 0x118], 0
jne 0x41711f
mov eax, 0x46175317
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov dword [esp + 0x41c], 0xffffffff
mov dword [esp + 0x418], 0xdc3cba00
mov esi, dword [esp + 0x118]
mov al, byte [esp + 0x230]
mov byte [esp + 0x23c], al
mov byte [esp + 0x234], 0x37
mov byte [esp + 0x235], 0x36
mov byte [esp + 0x236], 0x35
mov byte [esp + 0x237], 0x34
mov eax, 4
mov byte [esp + eax + 0x234], 0
add eax, 1
cmp eax, 5
jne 0x41717a
xor eax, eax
cmp eax, 5
jae 0x4171ae
mov cl, byte [esp + eax + 0x234]
mov dl, al
add dl, 0xcc
xor dl, cl
add dl, 4
mov byte [esp + eax + 0x234], dl
add eax, 1
jmp 0x41718c
mov edi, dword [esp + 0x234]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x44d2b8]
jb 0x4171c6
jmp 0x417237
mov ecx, dword [0x44d2bc]
cmp dword [ecx + ebx*8], 0x4c697c35
sete dl
xor eax, eax
test dl, 1
jne 0x4171df
jmp 0x41722b
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x41722b
mov eax, dword [0x44d2c0]
mov byte [esp + 0x77], dl
xor edx, edx
lea edx, [esp + 0x418]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xc
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.0043d920
mov dl, byte [esp + 0x77]
mov eax, 1
test dl, 1
je 0x417232
jmp 0x417237
add ebx, 1
jmp 0x4171b7
cmp eax, 2
jne 0x41723c
mov esi, dword [esp + 0x118]
mov al, byte [esp + 0x1b0]
mov byte [esp + 0x248], al
mov byte [esp + 0x1b4], 0x37
mov byte [esp + 0x1b5], 0x36
mov byte [esp + 0x1b6], 0x35
mov byte [esp + 0x1b7], 0x34
mov eax, 4
mov byte [esp + eax + 0x1b4], 0
add eax, 1
cmp eax, 5
jne 0x417276
xor eax, eax
cmp eax, 5
jae 0x4172aa
mov cl, byte [esp + eax + 0x1b4]
mov dl, al
add dl, 0xcc
xor dl, cl
add dl, 4
mov byte [esp + eax + 0x1b4], dl
add eax, 1
jmp 0x417288
mov edi, dword [esp + 0x1b4]
xor ebx, ebx
cmp ebx, dword [0x44d2b8]
jb 0x4172bd
jmp 0x41730d
mov eax, dword [0x44d2bc]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
test cl, 1
jne 0x4172d3
jmp 0x417301
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x417301
mov byte [esp + 0x71], cl
mov ecx, dword [0x44d2c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043d920
mov cl, byte [esp + 0x71]
test cl, 1
je 0x417308
jmp 0x41730d
add ebx, 1
jmp 0x4172b3
mov eax, dword [esp + 0x28]
mov dword [eax], 0x46175317
jmp 0x41800a
mov eax, 0xa4943d2d
test byte [esp + 0x7d], 1
jne 0x417449
mov eax, 0xaadc58b7
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, dword [esp + 0x428]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 0x162ff3b0
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xaadc58b7
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd2b9fbbe
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf42c8aac
jmp 0x41800a
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.00408390
mov eax, dword [esp + 0x28]
mov dword [eax], 0x6a6ca72
jmp 0x41800a
mov eax, 0xfefb5e0e
test byte [esp + 0x7e], 1
jne 0x4176f2
mov eax, 0xf4c3d4e
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd061d3ba
jmp 0x41800a
mov al, byte [esp + 0x7f]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
dec ecx
cmp dword [esp + edi*8 + 0x4f], ecx
cld
scasb al, byte es:[edi]
cmp byte [esi + 0x7d], 0x3e
pop edi
cmp esp, esi
jle 0x4177e9
mov eax, dword [esp + 0x28]
mov dword [eax], 0x90994ef3
jmp 0x41800a
mov dword [0x8bffff0b], eax
inc esp
and al, 0x28
mov dword [eax], 0x9f674e5
jmp 0x41800a
dec ebp
dec ecx
mov ah, 0xf6
mov eax, dword [esp + 0x90]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417834
mov ecx, eax
mov dword [esp], ecx
call fcn.00408380
mov ecx, dword [0x44d2b4]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xac]
xor ebx, ebx
lea ebx, [esp + 0x90]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call ecx
sub esp, 0x18
mov eax, dword [esp + 0x28]
mov dword [eax], 0xd549499d
jmp 0x41800a
nop
xor eax, 0x6d9cad32
push edi
lahf
test dword [edi - 0x7c], 0x24448b59
cmp byte [ecx - 0x1317dbfc], cl
or bh, bh
dec dword [ebx - 0x38d7dbbc]
add byte [esi], ah
vpor ymm5, ymm6, ymm1
push edi
pop es
add byte [eax], al
mov eax, dword [esp + 0x28]
mov dword [eax], 0x4b2a1e2d
jmp 0x41800a
aaa
jl 0x417a4e
dec esp
dec eax
push edx
stc
movups xmm0, xmm6
adc al, 0x8b
inc esp
and al, 0x2c
mov dword [esp], eax
call fcn.0043b070
mov eax, dword [esp + 0x28]
mov dword [eax], 0xf0d253c6
jmp 0x41800a
test byte [esp + ebx*4], ah
add byte [eax], al
add byte [esi + eax*8 - 0x7c], bl
and al, 0x9d
add byte [eax], al
add byte [edi - 0x48], bl
or al, byte [eax]
add byte [eax], al
mov byte [esp + eax + 0x94], 0
add eax, 1
cmp eax, 0xe
jne 0x417a62
mov eax, dword [esp + 0x28]
mov dword [eax], 0x1fa5747
jmp 0x41800a
add byte [eax], al
and bh, byte [ebx]
mov eax, dword [0x2fab1d3c]
inc esp
jl 0x417d4d
sbb al, 0x7d
mov eax, dword [esp + 0x28]
mov dword [eax], 0x1d37eaad
jmp 0x41800a
mov edx, 0xca659952
lcall 0x76b8, 0x81d665c
sahf
loopne 0x417d7b
cdq
retf 0x5c9a
div byte [edx]
jg 0x417d9f
mov eax, dword [esp + 0x28]
mov dword [eax], 0x868810ac
jmp 0x41800a
invalid
test dword [esi + 0x42621ac6], esp
pop esp
dec ebp
pop eax
sbb ebx, ebp
shl dword [edx], cl
and dword [eax + 0x448bbc35], ebx
and al, 0x28
mov dword [eax], 0xbc659c1f
jmp 0x41800a
jle 0x417df0
mov edx, 0x24848d6b
inc esp
add al, 0
add byte [ecx], dh
leave
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.00408400
mov dword [esp + 0x444], 0x44
mov eax, dword [0x44d2ac]
and al, 8
inc esp
add byte [eax], al
add al, ch
add eax, 0xc7ffff06
test byte [esp + eax*2], ah
add al, 0
add byte [eax + eax], al
add byte [ecx + 0x44d2ac], ah
mov dword [esp], eax
mov dword [esp + 4], 0xef6ed546
call fcn.0043f550
mov eax, dword [esp + 0x28]
mov dword [eax], 0xed4cc19c
jmp 0x41800a
std
sub cl, byte [ebp + 0x74]
mov ch, 0x14
in eax, 0xb7
mov esi, dword [esp + 0x398]
mov al, byte [esp + 0x180]
mov byte [esp + 0x258], al
mov byte [esp + 0x184], 0x37
mov byte [esp + 0x185], 0x36
mov byte [esp + 0x186], 0x35
mov byte [esp + 0x187], 0x34
mov eax, 4
mov byte [esp + eax + 0x184], 0
add eax, 1
cmp eax, 5
jne 0x417e6c
xor eax, eax
cmp eax, 5
jae 0x417ea0
mov cl, byte [esp + eax + 0x184]
mov dl, al
add dl, 0xcc
xor dl, cl
add dl, 4
mov byte [esp + eax + 0x184], dl
add eax, 1
jmp 0x417e7e
mov edi, dword [esp + 0x184]
xor ebx, ebx
cmp ebx, dword [0x44d2b8]
jb 0x417eb3
jmp 0x417f03
mov eax, dword [0x44d2bc]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
test cl, 1
jne 0x417ec9
jmp 0x417ef7
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x417ef7
mov byte [esp + 0x76], cl
mov ecx, dword [0x44d2c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043d920
mov cl, byte [esp + 0x76]
test cl, 1
je 0x417efe
jmp 0x417f03
add ebx, 1
jmp 0x417ea9
mov esi, dword [esp + 0x424]
mov al, byte [esp + 0x174]
mov byte [esp + 0x25c], al
mov byte [esp + 0x178], 0x37
mov byte [esp + 0x179], 0x36
mov byte [esp + 0x17a], 0x35
mov byte [esp + 0x17b], 0x34
mov eax, 4
mov byte [esp + eax + 0x178], 0
add eax, 1
cmp eax, 5
jne 0x417f3d
xor eax, eax
cmp eax, 5
jae 0x417f71
mov cl, byte [esp + eax + 0x178]
mov dl, al
add dl, 0xcc
xor dl, cl
add dl, 4
mov byte [esp + eax + 0x178], dl
add eax, 1
jmp 0x417f4f
mov edi, dword [esp + 0x178]
xor ebx, ebx
cmp ebx, dword [0x44d2b8]
jb 0x417f84
jmp 0x417fd4
mov eax, dword [0x44d2bc]
cmp dword [eax + ebx*8], 0x1b6183f2
sete cl
test cl, 1
jne 0x417f9a
jmp 0x417fc8
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x417fc8
mov byte [esp + 0x75], cl
mov ecx, dword [0x44d2c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call fcn.0043d920
mov cl, byte [esp + 0x75]
test cl, 1
je 0x417fcf
jmp 0x417fd4
add ebx, 1
jmp 0x417f7a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xe4cc2ea5
jmp 0x41800a
mov eax, dword [esp + 0x28]
mov dword [eax], 0xfae2bb70
jmp 0x41800a
jmp 0x413df7