Function at 0x10057420
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x12c
mov eax, dword [0x10070040]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea eax, [esp + 0x121]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
lea eax, [ecx + 0x14]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x54]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x50]
mov dword [eax], 0xf
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], edx
lea eax, [edx + 0x14]
mov dword [esp + 0x100], eax
cmp dword [esp + 0xb8], 0
sete byte [esp + 0x3a]
mov dword [esp + 0x3c], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x98], eax
mov ecx, 0x526fa2bd
mov eax, 0x82b97e40
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
jmp 0x10057530
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x118], eax
movzx eax, byte [esp + 0x26]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0xf4]
mov ecx, 0xad008081
mov eax, 0xf1b88df2
cmovb ecx, eax
mov eax, 0xf78aae6f
nop dword [eax]
cmp eax, 0xaecb9c6
jle 0x10057790
cmp eax, 0x4d20642f
jg 0x10057800
cmp eax, 0x2caeddd0
jle 0x100578bc
cmp eax, 0x398dea7d
jg 0x10057a30
cmp eax, 0x36b314b2
jle 0x10057e89
cmp eax, 0x38cd4271
jg 0x100583ab
cmp eax, 0x36b314b3
je 0x10058b0f
cmp eax, 0x38c8dafe
jne 0x10057530
mov eax, dword [esp + 0xe8]
movsx eax, byte [eax]
push dword [esp + 0xdc]
push eax
push dword [esp + 0xe8]
call fcn.1005e120
add esp, 0xc
mov ecx, dword [esp + 0x10c]
lea edi, [eax + 0x121e35db]
mov edx, edi
and edi, 0x6de1ca24
add edi, edi
lea esi, [eax + eax]
add esi, 0x243c6bb6
sub esi, edi
mov edi, 0xede1ca24
sub edi, eax
mov ebp, eax
mov dword [esp + 0x18], eax
or edi, 0x121e35db
sub esi, edi
mov eax, ecx
not eax
lea ebx, [ecx + eax*2]
add ebx, 1
or ebx, ebp
mov ebp, ebx
not ebp
lea edi, [ebx + ebp*2]
mov dword [esp + 8], edi
lea ebx, [ebx + ebp*2]
add ebx, 1
not edx
or edx, 0xede1ca24
lea ebp, [esi + edx]
add edx, esi
add edx, 0x3ec26805
mov esi, edx
and esi, ebx
add esi, ebp
add esi, 0x3ec26805
add esi, ebx
xor edx, ebx
add edx, esi
sub edx, dword [esp + 8]
mov esi, 0xc13d97fa
sub esi, ebp
or esi, ebx
add esi, edx
mov edx, esi
and edx, 0x2f1f6220
add edx, edx
mov ebx, esi
sub ebx, edx
add esi, esi
or esi, 0xa1c13bbe
lea edx, [ebx + esi]
add edx, 0xd5e2662
mov esi, edx
or esi, eax
add esi, ecx
mov ebx, edx
sub ebx, ecx
mov ebp, edx
or ebp, ecx
add ebp, ebx
xor edx, ecx
not edx
add edx, ebp
sub edx, esi
mov esi, ecx
mov ebp, dword [esp + 0x18]
or esi, ebp
not esi
lea esi, [esi + esi*2]
sub eax, esi
xor ecx, ebp
not ecx
add ecx, eax
mov edi, ebp
not edi
add edi, ecx
mov esi, ebp
sub esi, ecx
lea ebx, [esi + esi*2]
add ebx, edi
sub ecx, ebp
mov eax, ebp
add ecx, ebx
add ecx, 1
mov ebx, edi
and ebx, 0xe6caf57
lea ebp, [edi + edi]
lea ebx, [ebx + edi*2]
or edi, 0xe6caf57
sub ebx, edi
and ecx, 0xf19350a8
or ebp, 0xe326a150
sub ebx, ebp
or esi, 0xe6caf57
add esi, ebx
add esi, 0xf19350a8
mov edi, esi
not edi
and edi, ecx
mov ebx, ecx
or ebx, esi
add ebx, edi
not ecx
or ecx, esi
lea esi, [ecx + ebx]
add esi, 1
mov ecx, esi
not ecx
mov edi, ecx
and edi, 0xe6caf57
mov ebx, esi
xor ebx, 0xe6caf57
add ebx, edi
and ecx, 0xf19350a8
add ecx, ebx
mov edi, edx
not edi
add ecx, esi
mov esi, edx
xor esi, 0x30cb3024
add esi, edx
and edi, 0x4f34cfdb
lea esi, [esi + edi*2]
add esi, edx
add esi, ecx
lea ecx, [eax + esi]
add ecx, 0x16c7db4
add esi, eax
mov edx, ecx
or edx, 0xd8e8f834
sub esi, edx
and ecx, 0x271707cb
add ecx, esi
add ecx, 0xb33e6e1d
mov edx, ecx
and edx, 0xd0a14d8b
mov edi, ecx
sub edi, edx
sub edi, edx
or ecx, 0x2f5eb274
add ecx, edi
add ecx, edx
mov edx, ecx
and edx, 0xd8e8f834
add edx, ecx
mov esi, ecx
xor esi, 0xd8e8f834
add esi, edx
mov edx, ecx
or edx, 0x271707cb
add edx, esi
sub edx, ecx
add edx, 0x271707cc
mov dword [esp + 0xa0], edx
test eax, eax
mov ecx, 0x6366fda4
mov eax, 0xb4be928f
jmp 0x10059d0e
cmp eax, 0xc7e2cbb5
jg 0x10057860
cmp eax, 0xb01e34f8
jle 0x1005790d
cmp eax, 0xbc4451a8
jg 0x10057a76
cmp eax, 0xb49f1ea1
jle 0x10057ec4
cmp eax, 0xb58200b0
jg 0x100583db
cmp eax, 0xb49f1ea2
je 0x10058ee3
cmp eax, 0xb4c9b973
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xd3b2eafd
mov eax, 0x5cdcc6f4
mov edx, 0x25c849a8
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x5ed92450
jle 0x1005795e
cmp eax, 0x77020b23
jg 0x10057abc
cmp eax, 0x61f0cd2f
jle 0x10057f24
cmp eax, 0x6e34af70
jg 0x100584c5
cmp eax, 0x61f0cd30
je 0x10058efd
cmp eax, 0x66a18cc7
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xd3b2eafd
mov eax, 0xc7e2cbb6
mov edx, 0x9499734b
cmove eax, edx
jmp 0x10057530
cmp eax, 0xecbf4ea7
jle 0x100579df
cmp eax, 0xf6be68ba
jle 0x10057c7c
cmp eax, 0xf92e55e5
jle 0x10057f5f
cmp eax, 0x12babcd
jg 0x100584f5
cmp eax, 0xf92e55e6
je 0x10058f10
cmp eax, 0xfc5ae54b
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x91e6578a
mov eax, 0x5ab0b629
mov edx, 0xecadd823
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x1a837658
jle 0x10057cc2
cmp eax, 0x209f6a28
jle 0x10057f8a
cmp eax, 0x25c849a7
jg 0x10058525
cmp eax, 0x209f6a29
je 0x10058f2a
cmp eax, 0x20b83e01
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x2410c863
mov eax, 0x8d1e9df7
mov edx, 0xf151aaa9
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x9fa970c2
jle 0x10057d08
cmp eax, 0xa7e6728f
jle 0x10057fc7
cmp eax, 0xac074f32
jg 0x10058555
cmp eax, 0xa7e67290
je 0x10058f60
cmp eax, 0xa9f68efd
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xcbd87272
mov eax, 0xc7e2cbb6
mov edx, 0xbb1d2884
cmove eax, edx
jmp 0x10057530
cmp eax, 0x581e99cc
jle 0x10057d4e
cmp eax, 0x5b41ad1a
jle 0x100580c1
cmp eax, 0x5cdcc6f3
jg 0x10058585
cmp eax, 0x5b41ad1b
je 0x100590dd
cmp eax, 0x5c20faab
jne 0x10057530
lea eax, [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x114], eax
mov dword [esp + 0xb4], 0
mov ecx, 0xa9f0e90d
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x26], al
mov eax, 0xf78aae6f
jmp 0x10057530
cmp eax, 0xd6adfd1d
jle 0x10057e43
cmp eax, 0xdf38e3ad
jle 0x100580fc
cmp eax, 0xeaab08f4
jg 0x100585b5
cmp eax, 0xdf38e3ae
je 0x100590f7
cmp eax, 0xe2d9b232
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xbbb4e438
mov eax, 0xf37c04eb
mov edx, 0x3517925a
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x4691428b
jle 0x10058131
cmp eax, 0x491877df
jg 0x100585e5
cmp eax, 0x4691428c
je 0x10059114
cmp eax, 0x486913d0
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xfc2c5154
mov eax, 0xc7e2cbb6
mov edx, 0x206068e8
cmove eax, edx
jmp 0x10057530
cmp eax, 0xc3c17864
jle 0x1005816c
cmp eax, 0xc410d311
jg 0x1005879c
cmp eax, 0xc3c17865
je 0x1005912e
cmp eax, 0xc3ca19b0
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x961781b1
mov eax, 0xcb4ab04f
mov edx, 0xf0066be2
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x7bae17d7
jle 0x100581a7
cmp eax, 0x7e50811d
jg 0x10058aba
cmp eax, 0x7bae17d8
je 0x10059148
cmp eax, 0x7d1203f6
jne 0x10057530
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0x118]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 1
mov esi, ecx
or esi, 0x7ffffffe
add esi, edx
add esi, eax
mov edi, eax
or edi, 1
not esi
add esi, edi
mov ebx, 0x5ce725c7
sub ebx, esi
sub ebx, esi
mov edi, ebx
and edi, 0xa318da37
lea ebp, [edi + esi*2]
or ebx, 0x5ce725c8
sub ebp, ebx
lea edi, [ebp - 0x5af0f2c8]
mov esi, edi
and esi, ecx
lea ebx, [esi + ebp]
add ebx, 0xa50f0d38
mov esi, 0x5af0f2c7
sub esi, ebp
and esi, eax
add esi, ebx
add esi, eax
xor edi, eax
sub esi, edi
mov edi, ecx
and edi, 0xfffffffe
mov ebx, eax
xor ebx, 0xfffffffe
add ebx, edi
add ebx, edx
lea edx, [eax + ebx]
add edx, 1
mov edi, edx
and edi, eax
and ecx, edx
add ecx, ecx
mov ebx, edi
sub ebx, ecx
mov ecx, 0x34114821
sub ecx, esi
and ecx, 0x6be960b3
lea ebp, [esi + ecx]
add ebp, 0x4beeb7de
add esi, 0x4beeb7de
and esi, 0x6be960b3
add ebx, edx
not edx
or edx, eax
lea eax, [esi + ebp]
sub edx, ebx
add edx, edi
mov ecx, edx
not ecx
lea edx, [ecx + edx*2]
lea edi, [edx + edx]
lea ecx, [edx + edx]
add ecx, 2
add esi, ebp
add esi, 0x31dde771
mov ebx, esi
and ebx, ecx
add ebx, ebx
sub ebx, eax
lea ebx, [ebx + edx*2]
add ebx, 2
mov edx, 0xfffffffd
sub edx, edi
or edx, esi
xor esi, ecx
add esi, ebx
add edx, esi
mov esi, 0xce22188e
sub esi, eax
or esi, ecx
sub edx, esi
lea eax, [edx - 0x63bbcee2]
and eax, 0xfffffffe
add eax, edx
add eax, 0x9c44311e
mov ecx, 0x63bbcee1
sub ecx, edx
and ecx, 0xfffffffe
add ecx, eax
imul eax, ecx, 0xb8f0a81b
lea ecx, [eax - 0x1c3d5f94]
mov edx, ecx
and edx, 0xcfc5fb42
add edx, eax
add edx, 0xe3c2a06c
xor ecx, 0xcfc5fb42
add ecx, edx
mov edx, 0x1c3d5f93
sub edx, eax
or edx, 0xcfc5fb42
add edx, ecx
not edx
imul eax, edx, 0x62b10ded
imul ecx, edx, 0xc5621bda
or ecx, 0x36a413cc
add ecx, eax
mov edx, eax
xor edx, 0x64adf619
add edx, ecx
not eax
add eax, edx
add eax, 0xc95bec36
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x94]
cmp ecx, eax
mov ecx, 0x6738afb9
jmp 0x10059d09
cmp eax, 0xf151aaa8
jle 0x100581e2
cmp eax, 0xf3af9d8b
jg 0x10058aea
cmp eax, 0xf151aaa9
je 0x100591b8
cmp eax, 0xf37c04eb
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xbbb4e438
mov eax, 0xc7e2cbb6
mov edx, 0xa1c3e933
cmove eax, edx
jmp 0x10057530
cmp eax, 0x1274235b
jg 0x1005821d
cmp eax, 0xaecb9c7
je 0x100591d2
cmp eax, 0xb7f8a7a
je 0x100591ec
cmp eax, 0xdc505c8
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x6366fda4
mov eax, 0xc7e2cbb6
mov edx, 0x5685d40a
cmove eax, edx
jmp 0x10057530
cmp eax, 0x8f83fb02
jg 0x1005827d
cmp eax, 0x82b97e40
je 0x10059206
cmp eax, 0x8be1f421
je 0x10059213
cmp eax, 0x8d1e9df7
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x2410c863
mov eax, 0xc7e2cbb6
mov edx, 0x38c8dafe
cmove eax, edx
jmp 0x10057530
cmp eax, 0x53703105
jg 0x100582b8
cmp eax, 0x4d206430
je 0x1005922d
cmp eax, 0x50344771
je 0x10059247
cmp eax, 0x5092fe44
jne 0x10057530
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x104], eax
lea eax, [esp + 0x125]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x126]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x122]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x127]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x123]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0xbc]
movzx eax, byte [eax]
mov byte [esp + 0x28], al
mov eax, dword [esp + 0xc4]
movzx eax, byte [eax]
mov byte [esp + 0x29], al
mov eax, 0xf78aae6f
mov dword [esp + 0xac], 0
mov ecx, 0xcbd87272
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa8], 0
jmp 0x10057530
cmp eax, 0xcb73a56b
jg 0x10058370
cmp eax, 0xc7e2cbb6
je 0x10059261
cmp eax, 0xc904ea82
je 0x100574d1
cmp eax, 0xcb4ab04f
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xad008081
mov eax, 0x8be1f421
mov edx, 0x4691428c
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x2caeddd1
je 0x1005926b
cmp eax, 0x32b6c324
je 0x10059285
cmp eax, 0x3517925a
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xb9942841
mov eax, 0xc7e2cbb6
mov edx, 0x1274235c
cmove eax, edx
jmp 0x10057530
cmp eax, 0xb01e34f9
je 0x1005929f
cmp eax, 0xb0f1dee6
je 0x100592cf
cmp eax, 0xb19fcfa2
jne 0x10057530
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xd4]
mov ecx, 0x37c77ffe
mov eax, 0xe5a1d084
jmp 0x10057524
cmp eax, 0x5ed92451
je 0x100592e9
cmp eax, 0x5f0b8cc3
je 0x10059303
cmp eax, 0x5fcce6f2
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0xb4be928f
mov eax, 0xc7e2cbb6
mov edx, 0xc3c17865
cmove eax, edx
jmp 0x10057530
cmp eax, 0xf6be68bb
je 0x1005931d
cmp eax, 0xf77489db
je 0x100598dc
cmp eax, 0xf78aae6f
jne 0x10057530
mov eax, 0x82b97e40
jmp 0x10057530
cmp eax, 0x1a837659
je 0x100598f6
cmp eax, 0x1c31c2a3
je 0x10059937
cmp eax, 0x206068e8
jne 0x10057530
cmp dword [esp + 0x60], 0
mov ecx, 0x3d95721f
mov eax, 0x961781b1
cmovg ecx, eax
mov eax, 0xf78aae6f
jmp 0x10057530
cmp eax, 0x9fa970c3
je 0x10059951
cmp eax, 0xa1bda37c
je 0x1005996b
cmp eax, 0xa1c3e933
jne 0x10057530
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax]
or ecx, 0xa8868b62
add ecx, eax
mov edx, eax
xor edx, 0xabbcba4e
add edx, ecx
not eax
lea ecx, [edx + eax]
add edx, eax
add edx, 2
mov esi, edx
or esi, 0x544345b1
add esi, ecx
mov eax, edx
xor eax, 0xabbcba4e
add eax, esi
or edx, 0xabbcba4e
sub eax, edx
lea ecx, [eax - 0x51775833]
mov edx, ecx
and edx, 0xd70f332c
lea edx, [eax + edx*2]
add edx, 0xae88a7cd
xor ecx, 0x570f332c
add ecx, edx
sub ecx, eax
imul eax, ecx, 0xeafa160b
lea ecx, [eax - 0x3fbb349b]
add eax, eax
add eax, 0x1435b118
mov edx, eax
sub edx, ecx
sub edx, eax
add edx, 0x3629f2d9
imul ecx, edx, 0x6ca6ba5d
imul edx, edx, 0x45f42f17
mov eax, ecx
or eax, 0x34c8ab49
sub edx, eax
lea eax, [ecx + ecx]
or eax, 0x966ea96c
sub edx, eax
not ecx
or ecx, 0x34c8ab49
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x966ea96d
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x80]
cmp edx, 0x10
jae 0x1005acd6
mov ecx, dword [esp + 0x54]
jmp 0x1005acd8
cmp eax, 0x581e99cd
je 0x10059985
cmp eax, 0x5a33cd88
je 0x1005999f
cmp eax, 0x5ab0b629
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x91e6578a
mov eax, 0xc7e2cbb6
mov edx, 0x7e50811e
cmove eax, edx
jmp 0x10057530
cmp eax, 0xd6adfd1e
je 0x100599b9
cmp eax, 0xda76ed72
je 0x100599c3
cmp eax, 0xdc382c83
jne 0x10057530
cmp byte [esp + 0x3a], 0
mov ecx, 0x8ff1ef16
mov eax, 0x13d4ad87
jmp 0x1005992a
cmp eax, 0x398dea7e
je 0x100599dd
cmp eax, 0x3c976cb0
je 0x100599f7
cmp eax, 0x3cc98d1f
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x13d4ad87
mov eax, 0xc7e2cbb6
mov edx, 0xf6035422
cmove eax, edx
jmp 0x10057530
cmp eax, 0xbc4451a9
je 0x10059a53
cmp eax, 0xbc5ac981
je 0x10059a89
cmp eax, 0xc2406122
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x3d95721f
mov eax, 0xc7e2cbb6
mov edx, 0xcb7d0d1d
cmove eax, edx
jmp 0x10057530
cmp eax, 0x77020b24
je 0x10059aa3
cmp eax, 0x7969d575
je 0x10059c14
cmp eax, 0x79c15899
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x37c77ffe
mov eax, 0x491877e0
mov edx, 0x5ed92451
cmovl eax, edx
jmp 0x10057530
cmp eax, 0xecbf4ea8
je 0x10059c2e
cmp eax, 0xedf6ca2c
je 0x10059c48
cmp eax, 0xf0066be2
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x900c0983
mov eax, 0xfc5ae54b
mov edx, 0x5ded25dc
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x1274235c
je 0x10059c62
cmp eax, 0x12f6a95b
je 0x10059c9c
cmp eax, 0x150aeb67
jne 0x10057530
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0xd8]
mov ecx, 0x91e6578a
mov eax, 0xbbb4e438
jmp 0x10057524
cmp eax, 0x8f83fb03
je 0x10059cb6
cmp eax, 0x9499734b
je 0x10059cd0
cmp eax, 0x9926aa6e
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x401eaddf
mov eax, 0xc7e2cbb6
mov edx, 0xd0873958
cmove eax, edx
jmp 0x10057530
cmp eax, 0x53703106
je 0x10059d1b
cmp eax, 0x55179ce1
je 0x1005a583
cmp eax, 0x5685d40a
jne 0x10057530
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xa0]
mov byte [eax], cl
mov eax, dword [esp + 0xe4]
mov ecx, eax
not ecx
and ecx, 0x2d03d7e5
lea edx, [ecx + eax*2]
or eax, 0x2d03d7e5
sub edx, eax
lea eax, [edx + 0x2d03d7e5]
lea ecx, [eax + eax*2]
mov esi, eax
or esi, 0xd2fc281b
sub ecx, esi
add edx, edx
add edx, 0x5a07afca
or edx, 0x5a07afc8
sub ecx, edx
not eax
or eax, 0xd2fc281b
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x3f7f63ab
mov ecx, eax
xor ecx, 0xc0809c54
add ecx, edx
mov edx, eax
or edx, 0x3f7f63ab
add edx, ecx
and eax, 0x3f7f63ab
sub edx, eax
add edx, 1
mov dword [esp + 0xa4], edx
cmp edx, dword [esp + 0x60]
mov ecx, 0x64747239
mov eax, 0x3d95721f
jmp 0x10059d0e
cmp eax, 0xcb73a56c
je 0x1005a59d
cmp eax, 0xcb7d0d1d
je 0x1005a5b7
cmp eax, 0xd0873958
jne 0x10057530
mov eax, 0xf78aae6f
mov dword [esp + 0x9c], 0xffffffff
mov ecx, 0xcdecc435
jmp 0x1005a566
cmp eax, 0x38cd4272
je 0x1005abc9
cmp eax, 0x393acfe4
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x526fa2bd
mov eax, 0x12babce
mov edx, 0x9926aa6e
cmovl eax, edx
jmp 0x10057530
cmp eax, 0xb58200b1
je 0x1005abe3
cmp eax, 0xbb1d2884
jne 0x10057530
mov edx, dword [esp + 0xb0]
mov eax, edx
and eax, 0xe9bb6584
add eax, edx
mov ecx, edx
xor ecx, 0xe9bb6584
add ecx, eax
mov eax, edx
not eax
add eax, ecx
mov ecx, edx
or ecx, 0x16449a7b
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xe9bb6586
mov ecx, eax
and ecx, 0x16449a7c
add ecx, ecx
sub eax, ecx
lea ecx, [edx + edx]
add ecx, 0xd376cb0c
or ecx, 0xd376cb06
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x42cdcf76
lea ecx, [edx + edx]
add ecx, 0x859b9eec
or ecx, 2
add ecx, edx
add ecx, 0x42cdcf76
mov edx, eax
xor edx, 0xfffffffe
add edx, ecx
not eax
add eax, edx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc8], ecx
movzx ecx, byte [esp + 0x27]
mov byte [esp + 0x12], cl
movzx ecx, byte [esp + 0x28]
mov byte [esp + 0x13], cl
movzx ecx, byte [esp + 0x29]
mov byte [esp + 0x14], cl
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x100]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x104]
jae 0x1005acfe
mov eax, dword [esp + 0xfc]
jmp 0x1005ad00
cmp eax, 0x6e34af71
je 0x1005abfd
cmp eax, 0x6f383e47
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x72677790
mov eax, 0x27018152
mov edx, 0xf3af9d8c
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x12babce
je 0x1005ac17
cmp eax, 0x843943f
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x4134e6a
mov eax, 0xc7e2cbb6
mov edx, 0x150aeb67
cmove eax, edx
jmp 0x10057530
cmp eax, 0x25c849a8
je 0x1005ac31
cmp eax, 0x27018152
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x72677790
mov eax, 0xc7e2cbb6
mov edx, 0x209f6a29
cmove eax, edx
jmp 0x10057530
cmp eax, 0xac074f33
je 0x1005ac4b
cmp eax, 0xaf813f00
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x3d95721f
mov eax, 0xc2406122
mov edx, 0xc410d312
cmovl eax, edx
jmp 0x10057530
cmp eax, 0x5cdcc6f4
je 0x1005ac5e
cmp eax, 0x5ded25dc
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x8ff1ef16
mov eax, 0x8f83fb03
mov edx, 0x2caeddd1
cmovl eax, edx
jmp 0x10057530
cmp eax, 0xeaab08f5
je 0x1005ac78
cmp eax, 0xecadd823
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x900c0983
mov eax, 0xc7e2cbb6
mov edx, 0x7bae17d8
cmove eax, edx
jmp 0x10057530
cmp eax, 0x491877e0
je 0x1005ac92
cmp eax, 0x4a558838
jne 0x10057530
movzx eax, byte [esp + 7]
push eax
call fcn.1005f600
add esp, 4
mov esi, eax
mov ch, byte [esp + 7]
mov cl, ch
not cl
mov eax, ecx
mov bl, ch
mov byte [esp + 6], ch
add cl, cl
add cl, ch
and ch, 0xfb
mov bh, ch
add bh, ch
and al, 0x41
add al, bh
mov dl, ch
or dl, 0x41
sub al, dl
add al, 0xbe
mov edx, eax
not dl
mov ah, al
and ah, 0x41
add al, al
sub al, ah
and dl, 0xbe
add dl, al
and bl, 4
add bl, bl
mov dh, bl
neg dh
mov ah, 0x3b
sub ah, dl
add dl, 0x84
and ah, 0x2e
add ah, dl
and dl, 0x2e
add dl, ah
add dl, 0xa4
mov ah, dl
not ah
mov al, dh
and al, ah
add al, dl
sub al, bl
xor dl, dh
not dl
add dl, al
or ah, dh
sub dl, ah
mov eax, edx
not al
mov ah, al
and ah, 0x2e
add ah, dl
and al, 0xd1
add al, ah
add al, dl
movzx edx, byte [esp + 6]
xor dl, 0xfb
not ch
add ch, dl
add ch, bh
add ch, 1
mov dl, 0x36
sub dl, al
or dl, ch
add dl, al
add al, 0xc9
mov ah, al
add ah, ch
mov dh, al
xor dh, ch
sub ah, dh
or al, ch
add al, ah
sub al, dl
mov dl, 0xfc
sub dl, al
add al, 0xc3
mov ah, al
and ah, 0x23
add ah, al
and dl, 0x23
add dl, ah
add cl, 1
mov ch, cl
not ch
mov eax, ecx
and al, 0xfb
mov ah, cl
or ah, 0xfb
add ah, al
mov al, cl
xor al, 4
add al, ah
mov ah, cl
or ah, 4
sub al, ah
add al, 5
mov ah, cl
add ah, cl
and ah, 0xf6
xor cl, 0xfb
add cl, ah
add ch, ch
or ch, 8
add ch, cl
add ch, 2
or ch, al
add ch, dl
add dl, 0xba
mov eax, edx
add al, dl
and al, 0xd0
add al, dl
xor dl, 0x68
add dl, al
sub dl, ch
movzx eax, dl
imul edx, eax, 0x57
mov al, 0xd
sub al, dl
add dl, 0x72
mov ecx, edx
add cl, dl
mov ah, cl
xor ah, 0x98
add ah, cl
or cl, 0x98
sub ah, cl
or al, 0xcc
add al, ah
and dl, 0xcc
add dl, al
add dl, 0x35
mov ecx, edx
and cl, 0x22
add cl, dl
or dl, 0xdd
sub cl, dl
add cl, 0xba
movzx eax, cl
lea eax, [eax + eax*2]
mov edx, ecx
or dl, 0xcc
sub al, dl
mov edx, ecx
add dl, cl
or dl, 0x66
sub al, dl
not cl
or cl, 0xcc
add cl, al
movzx eax, cl
imul eax, eax, 0x67
add al, 0x99
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xeb
add dl, al
and cl, 0x14
add cl, dl
add cl, al
cmp cl, 0x15
mov ecx, 0xd3b2eafd
mov eax, 0x30560bff
cmove ecx, eax
test esi, esi
cmovne ecx, eax
jmp 0x1005ad23
cmp eax, 0xc410d312
je 0x1005acac
cmp eax, 0xc4f7aa10
jne 0x10057530
mov ecx, dword [esp + 0x84]
mov eax, ecx
not eax
mov edx, eax
and edx, 0x1e09e2f4
mov esi, eax
and esi, 0xe1f61d0b
sub edx, esi
add edx, eax
mov esi, eax
or esi, 0xe1f61d0b
sub edx, esi
add edx, 0xe1f61d0b
mov esi, ecx
and esi, 0xe1f61d0b
or esi, edx
lea edx, [esi + esi]
xor edx, 0x3c13c5e8
xor esi, 0xe1f61d0b
lea edi, [edx + esi]
add edx, esi
add edx, 1
mov esi, edx
and esi, 0xfffffffe
mov ebx, 0xfffffffe
sub ebx, edi
and ebx, 0xfffffffe
add ebx, esi
or edx, 0xfffffffe
add edx, ebx
lea esi, [ecx + edx]
add esi, 3
add edx, ecx
mov edi, esi
and edi, 0xc8e6014a
add edx, edx
add edx, 6
sub edx, edi
not esi
add edx, esi
or esi, 0x3719feb5
sub edx, esi
add edx, 0xc8e6014b
mov esi, edx
or esi, 0xfffffffd
mov edi, edx
sub edi, esi
and edx, 2
lea esi, [edi + edx]
add edx, edi
add edx, 0xffffffff
mov edi, edx
and edi, 0x48e6014a
add edi, edi
mov ebx, edx
sub ebx, edi
or edx, 0x3719feb5
add edx, ebx
neg esi
or esi, 0x3719feb5
sub edx, esi
mov dword [esp + 8], eax
lea esi, [eax + eax]
lea edi, [esi + ecx*2]
lea esi, [esi + ecx*2]
add esi, 2
add edi, eax
add edi, 2
mov ebx, ecx
sub ebx, esi
and ebx, 0xfffffffe
xor edi, 1
add edi, ebx
sub esi, ecx
add esi, edi
mov edi, esi
not edi
sub edi, esi
sub edi, esi
add edi, esi
add edi, esi
mov ebx, edi
not ebx
lea esi, [ebx + ebx*2]
lea esi, [esi + edi*2]
add esi, 2
mov eax, esi
and eax, 0x303410a5
mov ebp, eax
xor ebp, 0x303410a5
add ebp, eax
or esi, 0xcfcbef5a
lea eax, [esi + ebp]
add esi, ebp
add esi, 1
lea ebp, [edi + edi]
or edi, 0xcfcbef5a
add edi, ebx
and ebp, 0x9f97deb4
add edi, ebp
add edi, 0x303410a7
mov ebx, 0xfffffffe
sub ebx, eax
xor ebx, esi
and ebx, edi
xor ebx, esi
mov eax, esi
xor eax, edi
sub eax, ebx
or esi, edi
add esi, eax
mov edi, esi
xor edi, 0xcfcbef5a
add edi, esi
mov eax, esi
or eax, 0x303410a5
sub edi, eax
lea eax, [edx - 1]
or eax, 0xf2c22816
neg eax
add eax, edx
add eax, 0xffffffff
add eax, edx
add eax, 0xffffffff
neg edx
not esi
or esi, 0xcfcbef5a
add esi, edi
or edx, 0xd3dd7e9
add edx, eax
lea eax, [esi + edx]
add edx, esi
add edx, 0x303410a7
mov esi, edx
or esi, 0xd3dd7e9
mov edi, edx
sub edi, esi
add eax, edi
add eax, 0x303410a7
not edx
or edx, 0xf2c22816
add edx, eax
mov eax, ecx
and eax, 0x15e4f331
mov edi, dword [esp + 8]
mov esi, edi
or esi, 0xea1b0cce
add esi, eax
sub edi, esi
mov eax, ecx
or eax, 0x15e4f331
add edi, eax
and ecx, 0xea1b0cce
mov esi, ecx
xor esi, 0xea1b0cce
add esi, ecx
lea ecx, [eax + esi]
add ecx, 1
or ecx, edi
mov eax, ecx
xor eax, 0xea1b0ccf
add ecx, ecx
mov esi, ecx
xor esi, 0x2bc9e660
xor ecx, 0xd436199e
lea edi, [esi + ecx]
add ecx, esi
add ecx, 2
mov esi, eax
or esi, ecx
add edi, eax
add edi, 2
sub esi, edi
xor eax, ecx
not eax
add eax, esi
mov ecx, edx
and ecx, 0x252dc080
lea ecx, [edx + ecx*2]
mov esi, edx
not esi
and esi, 0x252dc080
add esi, ecx
or edx, 0xdad23f7f
sub esi, edx
lea ecx, [eax + esi]
add eax, esi
add eax, 0xdad23f80
mov edx, eax
xor edx, 0x252dc080
add ecx, edx
add ecx, 0xdad23f80
xor eax, 0xdad23f7f
add eax, ecx
imul eax, eax, 0x2397d407
lea ecx, [eax + 0x306d9087]
and ecx, 0x72366d23
add ecx, eax
add ecx, 0x306d9087
mov edx, 0x4f926f78
sub edx, eax
or edx, 0x8dc992dc
add edx, ecx
imul eax, edx, 0x75f759b7
lea ecx, [eax - 0x37731d8d]
mov edx, ecx
and edx, 0x8f087b1c
add eax, edx
add eax, 0xc88ce273
mov edx, ecx
not edx
and edx, 0x70f784e3
add edx, eax
xor ecx, 0x8f087b1c
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x70f784e5
mov edx, ecx
and edx, 0x529588bb
add eax, edx
add eax, 0x70f784e5
mov edx, ecx
not edx
add edx, eax
and ecx, 0xad6a7744
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x3c72f261
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x80]
cmp edx, 0x10
jae 0x1005ad50
mov ecx, dword [esp + 0x54]
jmp 0x1005ad52
cmp eax, 0x7e50811e
je 0x1005acc6
cmp eax, 0x7ebf8824
jne 0x10057530
mov eax, dword [esp]
cmp eax, 0x3104a543
mov eax, 0xc7e2cbb6
mov edx, 0x4a558838
cmove eax, edx
jmp 0x10057530
cmp eax, 0xf3af9d8c
jne 0x1005adc8
mov eax, dword [esp]
cmp eax, 0x6ac3eff4
mov eax, 0xc7e2cbb6
mov edx, 0xac074f33
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x68]
mov esi, eax
xor esi, 0x7ffffffe
mov ecx, eax
or ecx, 0x7ffffffe
mov edx, eax
or edx, 1
add esi, eax
add ecx, edx
not ecx
add ecx, esi
and ecx, eax
lea esi, [ecx + ecx]
add ecx, ecx
add ecx, 0xffffffff
and ecx, 0x77385fc8
sub ecx, esi
neg esi
or esi, 0x88c7a037
add esi, ecx
lea edi, [eax + esi]
add edi, 1
add esi, eax
mov ecx, edi
not ecx
and edi, 0xfffffffe
add esi, esi
add esi, 2
sub esi, edi
and ecx, 1
or ecx, esi
mov esi, eax
not esi
lea esi, [eax + esi*2]
add esi, 1
mov edi, esi
and edi, 1
mov ebx, esi
or ebx, 0xfffffffe
add ebx, edi
mov edi, esi
or edi, 1
sub ebx, edi
xor esi, 1
add esi, ebx
add esi, 2
mov edi, eax
and edi, 0xfffffffe
mov ebx, edi
xor ebx, 0xfffffffe
add ebx, edi
lea edi, [ebx + edx]
add edx, ebx
add edx, 1
mov ebx, esi
and ebx, edx
mov ebp, esi
not ebp
and ebp, edx
lea ebx, [ebx*2]
add ebx, ebp
or edx, esi
add edx, ebx
sub edx, edi
sub edx, edi
mov ebx, 0xfffffffe
sub ebx, edi
or ebx, esi
sub edx, ebx
mov esi, 2
sub esi, edx
mov ebx, esi
or ebx, 0x6b6618ce
mov edi, 1
sub edi, edx
sub edi, ebx
mov ebp, eax
add ebx, edx
add ebx, 0xfffffffe
mov edx, eax
and esi, 0x9499e731
or ebx, esi
add ebx, ebx
sub ebx, esi
or esi, edi
and ebp, 0xa59157e8
and edx, 0x5a6ea817
mov edi, edx
sub edi, ebp
add edi, eax
add esi, ebx
add esi, 1
xor esi, 0x6b6618ce
add esi, ecx
xor ebp, 0xa59157e8
or ebp, edx
or eax, 0xa59157e8
sub ebp, eax
add ebp, 0xa59157e8
xor edx, 0x5a6ea817
lea eax, [edx + edi]
add eax, 0xa59157e9
or eax, ebp
xor eax, 0xa59157e8
add eax, esi
imul eax, eax, 0xcb6628d
lea ecx, [eax + 0x196cc51a]
and ecx, 0x2cf4f193
mov edx, ecx
xor edx, 0x2cf4f193
add eax, edx
add eax, 0x196cc51a
add eax, ecx
imul eax, eax, 0x69113045
lea ecx, [eax + 0x3dd8a6c2]
not ecx
mov edx, 0x4227593d
sub edx, eax
and edx, 0x73572556
add edx, eax
add edx, 0x3dd8a6c2
and ecx, 0x8ca8daa9
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb12fcc19
mov ecx, eax
and ecx, 0x1eec5360
add ecx, ecx
add edx, edx
add edx, 0x625f9832
sub edx, ecx
not eax
mov ecx, eax
or ecx, 0x6113ac9f
sub edx, ecx
or eax, 0x9eec5360
add eax, edx
add eax, 0xedbc8749
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x68]
movzx ecx, byte [esp + 7]
mov byte [esp + eax + 0x124], cl
mov esi, dword [esp + 0xc8]
mov ecx, 0x180a2865
sub ecx, esi
mov eax, ecx
and eax, 0x180a2865
lea eax, [esi + eax*2]
mov edx, ecx
xor edx, 0x180a2865
add edx, eax
or ecx, 0xe7f5d79a
add ecx, edx
lea eax, [esi - 0x180a2866]
or eax, 0x180a2865
sub ecx, eax
lea eax, [ecx - 0x301450ca]
lea edx, [ecx - 0x355b4ef1]
and edx, 1
add ecx, edx
add ecx, 0xcaa4b10f
and eax, 1
add eax, ecx
mov ecx, eax
and ecx, 0xfab901d8
or eax, 0xfab901d8
lea edi, [ecx + eax + 0xa8dfc4f]
mov dword [esp + 8], edi
or edi, 0xc9e2e5fc
add edi, ecx
add edi, eax
lea ecx, [esi + esi]
mov eax, ecx
and eax, 2
mov edx, esi
xor edx, 1
add eax, edx
add eax, 1
mov ebx, esi
not ebx
or ebx, 1
add ebx, eax
add ebx, 0xffffffff
mov ebp, esi
and ebp, 1
add ebp, ebp
mov eax, esi
and eax, 0xfffffffe
lea eax, [eax + eax*2]
neg eax
add eax, edx
add eax, 1
add eax, esi
add eax, 0xfffffffd
and eax, edx
sub edx, ebp
mov ebp, ecx
or ebp, 0xfffffffc
add edx, ebp
add edx, 4
mov ebp, ebx
and ebp, edx
or ebx, edx
lea edx, [ebx + ebp*2]
not ebp
lea edx, [edx + ebp*2]
add edx, 2
mov ebp, dword [esp + 8]
mov ebx, ebp
xor ebx, 0x361d1a03
add ebx, edi
or ebp, 0x361d1a03
sub ebx, ebp
lea edi, [ebx + 0x76c83057]
and edi, edx
lea ebx, [ebx + edi*2]
add ebx, 0x76c83057
add ebx, edx
not edi
lea edx, [ebx + edi*2]
lea edi, [ebx + edi*2]
add edi, 0xc9e2e5fe
mov ebx, 0xfffffffe
sub ebx, eax
and ebx, edi
add edx, ebx
add edx, 0xc9e2e5fe
add eax, 1
or eax, edi
sub edx, eax
mov eax, esi
and eax, 0xd704d4af
mov edi, ecx
xor edi, 0x51f656a0
add edi, eax
xor ecx, 0xae09a95e
add ecx, edi
or esi, 0xd704d4af
sub ecx, esi
add ecx, 1
xor ecx, 0x28fb2b50
add ecx, edx
imul eax, ecx, 0xc162b2ed
lea ecx, [eax - 0x3e9d4d13]
mov edx, ecx
xor edx, 0xafcb0ee7
add eax, edx
add eax, 0xc162b2ed
mov edx, ecx
or edx, 0x5034f118
add edx, eax
and ecx, 0x5034f118
sub edx, ecx
lea ecx, [edx - 0x5034f117]
mov eax, ecx
xor eax, 0xaf48891
add edx, eax
add edx, 0xafcb0ee9
mov eax, ecx
xor eax, 0xf50b776e
add eax, edx
mov edx, ecx
or edx, 0xaf48891
not ecx
or ecx, 0xaf48891
add ecx, edx
sub eax, ecx
lea ecx, [eax + 0x15e91122]
and ecx, 0x5034f118
add eax, ecx
add eax, 0x15e91122
xor ecx, 0x5034f118
add ecx, eax
imul eax, ecx, 0xfc157ae5
add eax, 0xba47bc4b
mov dword [esp + 0x108], eax
cmp dword [esp + 0x74], 4
mov ecx, 0x900c0983
mov eax, 0xb9942841
cmove ecx, eax
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x25], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x24], al
mov eax, 0xf78aae6f
movzx edx, byte [esp + 0x12]
mov byte [esp + 0x23], dl
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xb9942841
mov eax, 0xb4c9b973
mov edx, 0xc3ca19b0
cmovl eax, edx
jmp 0x10057530
movsx edx, byte [esp + 0x16]
mov ecx, dword [esp + 0x3c]
call fcn.1005ae00
jmp 0x1005adb9
mov eax, dword [esp]
cmp eax, 0x2d4c20a4
mov eax, 0xc7e2cbb6
mov edx, 0xbc4451a9
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x40]
mov byte [eax], 0xff
mov eax, dword [esp + 0x78]
mov byte [eax], 0xff
mov eax, dword [esp + 0x7c]
mov byte [eax], 0xff
mov eax, 0xf78aae6f
mov cl, 0xff
mov dword [esp + 0x2c], ecx
mov ecx, 0x401eaddf
mov dl, 0xff
mov dword [esp + 0x30], edx
mov dl, 0xff
mov dword [esp + 0x34], edx
jmp 0x10057530
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax]
xor ecx, 0xfffffffc
mov edx, eax
xor edx, 1
add ecx, edx
add ecx, 1
and ecx, eax
mov edx, ecx
or edx, 0x200f72b2
add edx, ecx
not ecx
or ecx, 0x200f72b2
lea esi, [edx + ecx]
add edx, ecx
add edx, 1
mov ecx, edx
not ecx
mov edi, edx
and edi, 0x200f72b2
add esi, edi
add esi, 1
and ecx, 0xdff08d4d
add ecx, esi
xor edx, 0x200f72b2
add edx, ecx
lea ecx, [eax + edx]
add ecx, 0xdff08d4f
add edx, eax
mov esi, eax
not esi
mov edi, esi
and edi, 0x5d11293b
mov ebx, esi
and ebx, 0xa2eed6c4
sub edi, ebx
add edi, esi
mov ebx, eax
and ebx, 0x5d11293b
mov esi, 0x5d11293a
sub esi, edi
sub esi, ebx
add edi, ebx
add edi, 0xa2eed6c5
and eax, 0xa2eed6c4
xor esi, edi
and esi, eax
xor esi, edi
mov ebx, edi
xor ebx, eax
sub esi, ebx
or eax, edi
add eax, esi
mov esi, eax
xor esi, 0xa2eed6c4
xor eax, 0x5d11293a
and eax, esi
mov esi, ecx
not esi
mov edi, esi
and edi, 0xaa7b0230
add edx, edi
add edx, 0xdff08d4f
xor ecx, 0x5584fdcf
add ecx, edx
or esi, 0xaa7b0230
sub ecx, esi
lea edx, [ecx - 0x5584fdd0]
mov esi, edx
not esi
and esi, eax
add esi, ecx
add esi, 0xaa7b0230
add esi, eax
or edx, eax
not edx
add edx, esi
lea esi, [ecx + edx]
add esi, 0xaa7b0230
lea eax, [ecx + edx]
add eax, 0xaa7b0231
mov ecx, eax
and ecx, 0x5584fdcf
add ecx, ecx
lea edx, [esi + esi]
add edx, 2
sub edx, ecx
not eax
mov ecx, eax
or ecx, 0xaa7b0230
sub edx, ecx
or eax, 0x5584fdcf
add eax, edx
imul eax, eax, 0x1a88d9e9
add eax, 0x87b05250
mov ecx, eax
xor ecx, 0xac1ac974
not eax
add eax, eax
or eax, 0x583592e8
add eax, ecx
imul eax, eax, 0xc3fa71a7
lea ecx, [eax + 0x584744a2]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x114]
cmp edx, 0x10
jae 0x1005ad78
mov ecx, dword [esp + 0x54]
jmp 0x1005ad7a
mov eax, dword [esp]
cmp eax, 0x401eaddf
mov eax, 0x393acfe4
mov edx, 0xaf813f00
cmovl eax, edx
jmp 0x10057530
movsx edx, byte [esp + 0x2b]
mov ecx, dword [esp + 0x3c]
call fcn.1005ae00
mov ecx, 0x84dd6830
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xa9f0e90d
mov eax, 0xda76ed72
mov edx, 0x4d206430
cmovl eax, edx
jmp 0x10057530
mov dword [esp + 0xa0], 0xffffffff
mov ecx, 0x6366fda4
mov eax, 0xf78aae6f
jmp 0x10057530
cmp dword [esp + 0xcc], 0
mov ecx, 0xcbd87272
mov eax, 0xd3b2eafd
cmove ecx, eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xb0], eax
mov eax, 0xf78aae6f
mov edx, dword [esp + 0x108]
mov dword [esp + 0xac], edx
movzx edx, byte [esp + 0x25]
mov byte [esp + 0x29], dl
mov dh, byte [esp + 0x24]
mov byte [esp + 0x28], dh
movzx ebx, byte [esp + 0x23]
mov byte [esp + 0x27], bl
mov byte [esp + 6], dl
mov byte [esp + 0x11], dh
mov byte [esp + 0x10], bl
mov edx, dword [esp + 0x74]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x70], edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x1a1efb8d
mov eax, 0xc7e2cbb6
mov edx, 0x53703106
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x6ac3eff4
mov eax, 0x6f383e47
mov edx, 0xeaab08f5
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x13d4ad87
mov eax, 0x3cc98d1f
mov edx, 0x1c31c2a3
cmovl eax, edx
jmp 0x10057530
mov dword [esp], ecx
mov eax, 0x9fa970c3
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xb4be928f
mov eax, 0x5fcce6f2
mov edx, 0xb58200b1
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x961781b1
mov eax, 0xc7e2cbb6
mov edx, 0x3c976cb0
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x6738afb9
mov eax, 0xaecb9c7
mov edx, 0x5f0b8cc3
cmovl eax, edx
jmp 0x10057530
mov eax, 0xd6adfd1e
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x84dd6830
mov eax, 0xc7e2cbb6
mov edx, 0x7d1203f6
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xf1b88df2
mov eax, 0x38cd4272
mov edx, 0xa1bda37c
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x94]
movzx eax, byte [esp + eax + 0x121]
mov byte [esp + 0x26], al
mov ecx, 0xa9f0e90d
mov eax, dword [esp + 0x94]
mov dword [esp + 0xb4], eax
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xcdecc435
mov eax, 0xcb73a56c
mov edx, 0xa9f68efd
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x1a1efb8d
mov eax, 0xecbf4ea8
mov edx, 0x5a33cd88
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x64747239
mov eax, 0xf77489db
mov edx, 0xdc505c8
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x9c]
mov byte [eax], cl
mov esi, ecx
movzx eax, byte [esp + 0x64]
shl al, 2
mov dh, byte [esp + 0x22]
mov cl, dh
shr cl, 4
and cl, 3
movzx ecx, cl
imul ecx, ecx, 0xffffffeb
mov dl, 0x19
sub dl, cl
add cl, 0xe6
mov ah, cl
and ah, 0x4b
add ah, cl
xor cl, 0x4b
add cl, ah
or dl, 0x4b
add dl, cl
movzx ecx, dl
imul ecx, ecx, 0xffffffc3
add cl, 0xc3
mov dl, cl
add dl, cl
and dl, 0xa6
add dl, cl
not cl
add cl, cl
or cl, 0x58
add cl, dl
add cl, 0xaf
mov dl, cl
and dl, al
xor cl, al
or cl, dl
movzx eax, cl
imul ecx, eax, 0x53
mov eax, ecx
not al
mov dl, al
and dl, 0xda
add dl, cl
and al, 0x25
add al, dl
add al, cl
mov ecx, eax
add cl, 0x61
mov dl, cl
xor dl, 0xda
add dl, cl
not cl
and cl, 0x25
add cl, cl
add cl, dl
add cl, al
movzx eax, cl
imul eax, eax, 0xffffffdb
add al, 0xf
mov byte [esp + 0x15], al
mov al, dh
shl al, 4
movzx edx, byte [esp + 0x1c]
shr dl, 2
mov ecx, edx
add cl, 0xfa
mov ah, cl
xor ah, 0xfa
add ah, dl
xor cl, 5
add cl, ah
add cl, 0x57
mov ah, cl
and ah, 0xf
add ah, cl
or cl, 0xf0
mov ch, cl
not ch
add ch, ah
mov dh, ch
and dh, 0x55
add ch, ch
sub ch, dh
add ch, cl
sub cl, ah
or cl, 0xaa
add cl, ah
sub cl, ch
add cl, 0x56
mov ah, dl
and ah, 0xf
mov ch, dl
and ch, 0x30
mov dh, ch
add dh, ch
sub ah, dh
mov dh, dl
or dh, 0xf
add ah, dh
add dh, ch
sub dh, dl
not dl
or dl, 0xf
sub ah, dl
add ah, 0xf0
mov ch, ah
not ch
mov bl, dh
and bl, ch
add bl, bl
mov dl, ah
or dl, dh
add dl, dl
sub dl, bl
not dh
or dh, ah
sub dl, dh
add ch, dl
mov dh, ch
add dh, ch
mov bl, ah
sub bl, dl
sub bl, dh
add bl, ch
sub dl, ah
add dl, bl
add dl, 0xff
and dl, 0xdf
and ch, 0x20
or dl, ch
mov ah, dl
add ah, dl
add ch, ch
sub ah, ch
add ah, dl
not dl
add dl, dl
add dl, ah
add dl, ch
add dl, 2
mov ah, dl
not ah
and ah, 0x20
mov ch, dl
xor ch, 0x20
add ch, ah
or dl, 0xdf
add dl, ch
mov ah, dl
sub ah, cl
add ah, ah
sub cl, dl
add cl, ah
movzx ecx, cl
imul ecx, ecx, 0x5b
add cl, 0xb6
mov edx, ecx
not dl
and dl, 0xf6
add dl, cl
or cl, 9
add cl, dl
movzx ecx, cl
imul edx, ecx, 0xffffffd3
mov ecx, edx
add cl, 0xf2
mov ah, cl
add ah, cl
and ah, 0x28
sub ah, dl
or cl, 0x94
add cl, ah
mov ah, 0x8d
sub ah, dl
or ah, 0x94
sub cl, ah
mov dl, 0xf2
sub dl, cl
add cl, 0xd
mov ah, cl
and ah, 0xb2
add ah, cl
mov ch, cl
xor ch, 0x4d
add ch, ah
and dl, 0x32
add dl, dl
add dl, ch
and cl, 0x4d
add cl, dl
mov ch, 0x63
sub ch, cl
add cl, 0x9c
mov edx, eax
not dl
mov ah, ch
and ah, al
mov byte [esp + 8], al
or ch, dl
add ch, ah
mov dh, cl
or dh, dl
add dh, ch
mov ch, dh
add ch, dh
xor ch, 0xfc
add ch, dh
or ch, 1
mov dh, ch
add dh, ch
not ch
add ch, dh
add ch, 2
mov bl, ch
add bl, ch
mov dh, cl
add dh, cl
mov bh, dh
not bh
and bh, bl
shl ch, 2
sub ch, bh
not bl
and bl, dh
add bl, ch
mov ch, cl
shl ch, 2
sub bl, ch
mov bh, cl
add bh, ah
mov ch, cl
xor ch, al
sub bh, ch
mov al, bh
not al
and al, ch
mov dh, bh
or dh, ch
add dh, dh
add dh, al
xor bh, ch
add bh, ch
sub dh, bh
add dh, dh
mov al, 0x64
sub al, bl
add bl, 0x9b
and al, dh
add al, bl
and bl, dh
add bl, al
mov dh, bl
not dh
mov al, dh
and al, 0x9b
add al, bl
xor bl, 0x64
add bl, al
or dh, 0x9b
sub dh, bl
mov al, byte [esp + 8]
mov ebx, eax
and dl, cl
sub dl, ah
add dl, ch
add dl, al
or cl, al
add al, al
xor bl, 0xfe
add bl, al
mov al, 0xfc
sub al, bl
add bl, 3
add dh, 0x9b
mov ah, dh
and ah, bl
add ah, ah
sub ah, dh
add ah, bl
mov ch, dh
xor ch, bl
add ch, ah
or al, dh
add al, ch
not dh
or dh, bl
sub dh, al
sub dl, cl
mov al, dh
add al, dh
and al, 0x4e
add al, dh
mov cl, dh
xor cl, 0xa7
add cl, al
not dh
add dh, cl
add dh, dl
movzx eax, dh
imul eax, eax, 0xffffff91
mov cl, 0x74
sub cl, al
add al, 0x8b
mov edx, eax
add dl, al
mov ch, dl
xor ch, 0x64
add ch, dl
or dl, 0x64
sub ch, dl
or cl, 0xb2
add cl, ch
and al, 0xb2
add al, cl
add al, 0xb3
mov ecx, eax
and cl, 0x54
add cl, al
or al, 0xab
sub cl, al
add cl, 0x56
movzx eax, cl
lea eax, [eax + eax*2]
mov edx, ecx
or dl, 0xb2
sub al, dl
mov edx, ecx
add dl, cl
or dl, 0x9a
sub al, dl
not cl
or cl, 0xb2
add cl, al
movzx eax, cl
imul eax, eax, 0x71
add al, 0x6b
mov edx, eax
not dl
mov ecx, edx
and cl, 0x6d
add cl, al
and dl, 0x92
add dl, cl
add dl, al
mov byte [esp + 8], dl
movzx ebx, byte [esp + 0x1c]
shl bl, 6
mov eax, esi
mov edx, eax
not dl
mov ecx, edx
mov dh, dl
add cl, dl
add cl, al
mov dl, 0xfe
sub dl, cl
or dl, bl
add cl, 1
add dl, cl
or cl, bl
sub dl, cl
and dl, bl
mov ah, dl
or ah, 0x80
sub ah, dl
mov ecx, edx
or cl, 0x7f
add cl, ah
add cl, dl
add cl, bl
add cl, 0x81
mov dl, cl
xor dl, 0x80
mov eax, esi
mov bh, al
neg bh
mov ch, dl
add ch, al
xor dl, bh
add dl, ch
add dl, al
and bh, cl
xor cl, 0x7f
add cl, dl
add bh, bh
add bh, cl
mov byte [esp + 0x18], bh
mov eax, ebx
not al
mov bh, al
mov dl, al
add dl, dh
mov ecx, ebx
mov eax, esi
and cl, al
mov edi, esi
add cl, dl
mov dl, 0x7e
sub dl, cl
mov byte [esp + 0xf], dl
mov ah, 0x3e
sub ah, cl
add cl, 1
mov byte [esp + 0xe], cl
mov dl, cl
and dl, 0x27
movzx esi, dl
lea ecx, [esi + esi*2]
and ah, 0x27
add ah, cl
mov byte [esp + 0xd], ah
mov al, bh
mov cl, bh
mov byte [esp + 0xc], dh
and cl, dh
mov ch, bl
xor ch, dh
add ch, cl
mov ah, bl
mov dh, bl
mov ebx, edi
xor dh, bl
add dh, ch
mov dl, bl
mov esi, edi
and dl, al
mov ch, al
mov bh, byte [esp + 0xc]
or al, bh
sub dh, al
add ch, ch
add ch, ah
mov cl, dh
mov bl, dh
or cl, ah
not cl
add cl, ah
add ah, bh
add dl, ah
or ch, 1
mov eax, edi
and ch, al
mov dh, dl
add dh, 1
mov ah, 0xfe
sub ah, dl
not dl
mov al, ch
or al, dh
add al, dl
or ah, ch
sub al, ah
add al, ch
not ch
or ch, dh
movzx edx, byte [esp + 0x18]
add dl, 1
add ch, al
mov ah, dl
not ah
mov al, dl
add al, dl
and ah, 0xb5
add ah, al
or dl, 0xb5
sub ah, dl
add ah, 0x4b
mov al, ch
not al
mov dl, ah
and dl, al
add dl, ah
or al, ah
not ah
mov dh, ch
and dh, ah
add al, dh
add dl, ch
sub dl, al
or ah, ch
add ah, dl
mov al, ah
not al
and al, 0xb5
add al, ah
or ah, 0x4a
add ah, al
add ah, 0xb5
mov al, byte [esp + 0xe]
or al, 0x58
movzx edx, byte [esp + 0xd]
sub dl, al
add dl, 0x31
mov al, byte [esp + 0xf]
and al, 0x58
or al, dl
mov edx, eax
add dl, al
mov ch, ah
not ch
shl al, 2
xor al, 0x9f
xor dl, 0xb1
add dl, al
mov dh, dl
not dh
mov al, ch
and al, dh
add al, ch
add al, dl
add al, ah
or dh, ah
sub al, dh
mov edx, eax
not dl
and dl, bh
add dl, al
mov ah, al
or ah, bh
add ah, dl
mov edx, edi
xor al, dl
add al, ah
add cl, bl
add cl, 1
mov ah, cl
and ah, 0x49
xor ah, 0x4f
add ah, 0xfa
mov ch, cl
and ch, 0xb6
mov edx, ecx
xor dl, 0x49
add dl, ch
not cl
add dl, cl
add cl, cl
or cl, 0x6c
sub dl, cl
add dl, 0xb6
mov ecx, edx
not cl
mov ch, ah
and ch, cl
mov dh, ah
or dh, dl
add dh, ch
xor dl, ah
not dl
add dl, dh
or cl, ah
sub dl, cl
xor dl, 0x49
mov cl, 0xfe
sub cl, dl
add dl, 1
mov ah, 0xd9
sub ah, al
mov ch, ah
and ch, dl
add ch, ch
add ch, al
add ch, dl
mov dh, ah
xor dh, dl
add dh, ch
or ah, cl
add ah, dh
add al, 0x26
or al, dl
sub ah, al
movzx eax, ah
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
add al, 0x5d
mov ecx, eax
and cl, 0x4d
or al, 0x4d
add al, cl
add al, 0x64
not al
movzx ecx, al
imul eax, ecx, 0x4f
mov edx, eax
and dl, 0x12
add dl, dl
sub al, dl
imul ecx, ecx, 0xffffff9e
or cl, 0xda
add cl, al
add cl, 0x14
mov byte [esp + 0x17], cl
movzx edx, byte [esp + 8]
mov eax, edx
add al, 0x94
add dl, 0x19
mov ecx, edx
not cl
xor dl, 0x6d
add dl, al
and cl, 0x12
add cl, cl
add cl, dl
add cl, al
add cl, 0xe6
mov byte [esp + 0x16], cl
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xd0]
mov ecx, 0x6ac3eff4
mov eax, 0xf3a3a9b3
jmp 0x10057524
mov eax, dword [esp]
cmp eax, 0x64747239
mov eax, 0xc7e2cbb6
mov edx, 0x1a837659
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x124]
add eax, ecx
mov dword [esp + 0xe8], eax
cmp byte [esp + 0x3b], 0
mov ecx, 0x2410c863
mov eax, 0xb4be928f
cmovne ecx, eax
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x7a18199
mov eax, 0xc7e2cbb6
mov edx, 0x5c20faab
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xfc2c5154
mov eax, 0x79c15899
mov edx, 0xb49f1ea2
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xe5a1d084
mov eax, 0xc7e2cbb6
mov edx, 0x77020b24
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xda80ea78
mov eax, 0x55179ce1
mov edx, 0x66a18cc7
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x7a18199
mov eax, 0xb7f8a7a
mov edx, 0x7969d575
cmovl eax, edx
jmp 0x10057530
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xa9f0e90d
mov eax, 0xc7e2cbb6
mov edx, 0xc904ea82
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x30560bff
mov eax, 0x6e34af71
mov edx, 0xf92e55e6
cmovl eax, edx
jmp 0x10057530
mov eax, 0x1018012c
mov ecx, dword [0x1018013c]
mov dword [esp + 0xdc], ecx
cmp dword [0x10180140], 0x10
jb 0x10059a17
mov eax, dword [0x1018012c]
mov dword [esp + 0xe0], eax
cmp dword [esp + 0xdc], 0
sete byte [esp + 0x3b]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10c], eax
mov eax, 0xf78aae6f
mov dword [esp + 0xa4], 0
mov ecx, 0x64747239
jmp 0x10057530
mov eax, dword [esp + 0x44]
movzx eax, byte [esp + 0x17]
mov byte [esp + 0x25], al
movzx eax, byte [esp + 0x16]
mov byte [esp + 0x24], al
mov eax, 0xf78aae6f
mov dword [esp + 0x74], 0
mov ecx, 0x900c0983
movzx edx, byte [esp + 0x15]
mov byte [esp + 0x23], dl
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xf1b88df2
mov eax, 0xc7e2cbb6
mov edx, 0xa7e67290
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x88]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 1
add edx, eax
mov esi, eax
xor esi, 1
add esi, edx
mov edx, eax
or edx, 1
sub esi, edx
mov edx, esi
not edx
mov edi, eax
and edi, edx
or edx, eax
add edx, esi
or esi, ecx
add esi, edi
sub esi, edx
mov edx, eax
neg edx
lea edi, [eax - 1]
and edi, esi
add edi, esi
mov ebx, esi
xor ebx, edx
add ebx, edi
mov edi, eax
sub edi, ebx
mov ebx, esi
or ebx, edx
lea edi, [edi + ebx*2]
add edi, eax
add edi, 1
and edx, esi
mov esi, edi
sub esi, edx
sub edx, edi
lea edi, [edx + esi*2]
lea ebx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 1
or eax, 1
lea ecx, [edx + esi*2]
add ecx, 0x67f4f53d
mov edx, 0xfffffffe
sub edx, ebx
and edx, ecx
and edx, 0xfffffffe
lea esi, [edx + edi]
add esi, 0x67f4f53d
mov edx, 0x980b0ac2
sub edx, edi
and edx, eax
add edx, esi
add edx, eax
xor eax, ecx
sub edx, eax
lea eax, [edx + 0x46032ff6]
mov ecx, 0xb9fcd009
sub ecx, edx
and ecx, 0xadf82532
add ecx, edx
add ecx, 0x46032ff6
and eax, 0xadf82532
add eax, ecx
imul eax, eax, 0xf4487009
lea ecx, [eax + 0x67e1a27c]
not ecx
mov edx, ecx
and edx, 0xbef12289
add edx, eax
add edx, 0x67e1a27c
and ecx, 0x410edd76
add ecx, edx
lea edx, [eax + ecx]
add edx, 0x67e1a27c
add eax, ecx
add eax, 0x26d2c506
mov ecx, eax
and ecx, 0x4834c078
add ecx, ecx
add edx, edx
add edx, 0x7de24514
sub edx, ecx
not eax
mov ecx, eax
or ecx, 0xb7cb3f87
sub edx, ecx
or eax, 0x4834c078
add eax, edx
imul ecx, eax, 0xe3b1e1c7
lea eax, [ecx + 0x6aa5c772]
mov edx, eax
and edx, 0x232b08f0
add ecx, edx
add ecx, 0x6aa5c772
mov edx, eax
xor edx, 0x232b08f0
add edx, ecx
or eax, 0x232b08f0
sub eax, edx
lea ecx, [eax + 0x232b08f1]
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
cmp edx, 0x10
jae 0x1005ada0
mov ecx, dword [esp + 0x54]
jmp 0x1005ada2
mov eax, dword [esp]
cmp eax, 0x4134e6a
mov eax, 0x843943f
mov edx, 0x486913d0
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x2d4c20a4
mov eax, 0x398dea7e
mov edx, 0x20b83e01
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xf3a3a9b3
mov eax, 0xc7e2cbb6
mov edx, 0xc4f7aa10
cmove eax, edx
jmp 0x10057530
mov eax, 0x1018012c
mov ecx, dword [0x1018013c]
mov dword [esp + 0x58], ecx
cmp dword [0x10180140], 0x10
jb 0x10059c7f
mov eax, dword [0x1018012c]
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x6c], eax
mov ecx, 0x1a1efb8d
mov eax, 0x72677790
jmp 0x10059d0e
mov eax, dword [esp]
cmp eax, 0x30560bff
mov eax, 0xc7e2cbb6
mov edx, 0x36b314b3
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x8ff1ef16
mov eax, 0xc7e2cbb6
mov edx, 0x5092fe44
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x10]
mov byte [eax], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [esp + 0x11]
mov byte [eax], cl
mov eax, dword [esp + 0xc4]
movzx ecx, byte [esp + 6]
mov byte [eax], cl
cmp dword [esp + 0x60], 0
mov ecx, 0xfc2c5154
mov eax, 0x13d4ad87
cmove ecx, eax
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp + 0x40]
movsx eax, byte [eax]
push dword [esp + 0x58]
push eax
push dword [esp + 0x64]
call fcn.1005e120
add esp, 0xc
mov ebp, eax
mov ebx, dword [esp + 0x6c]
mov ecx, ebx
not ecx
mov dword [esp + 0x30], ecx
mov eax, ecx
and eax, 0x9a2296da
lea edx, [eax + ecx*2]
mov eax, ecx
or eax, 0x9a2296da
sub edx, eax
mov eax, ecx
or eax, 0x65dd6925
sub edx, eax
sub edx, eax
mov esi, ebx
or esi, 0x9a2296da
lea ecx, [edx + esi]
add edx, esi
add edx, 0x65dd6925
mov esi, ebx
xor esi, 0x9a2296da
add esi, ebx
mov edi, ebx
xor edi, 0x65dd6925
add edi, esi
add eax, edi
add eax, 2
not edx
and edx, eax
lea eax, [edx + ecx]
add eax, 0x65dd6925
mov dword [esp + 0x2c], eax
mov edi, ebp
add edi, ebp
mov dword [esp + 0x34], ebp
mov eax, ebp
and eax, 0x29ac6ad4
mov ecx, edi
or ecx, 0xaca72a56
add eax, ecx
mov edx, edi
xor edx, 0x5358d5a8
add edx, eax
xor edi, 0xaca72a56
add edi, edx
mov eax, ebp
not eax
sub edi, ecx
mov edx, eax
and eax, 0xd653952b
add edi, 2
or ebp, 0x29ac6ad4
and ebp, edi
mov esi, eax
or esi, edi
add esi, ebp
not edi
or edi, eax
add edi, esi
lea eax, [edi + edi]
add eax, 2
mov ecx, eax
xor ecx, 0x5358d5a8
sub ecx, edi
mov dword [esp + 0x1c], ecx
and eax, 0x5358d5a8
mov dword [esp + 8], eax
add ecx, eax
add ecx, 0xd653952b
mov eax, ecx
and eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
or eax, ecx
add eax, ebx
mov dword [esp + 0x30], eax
mov ebp, ecx
not ebp
or ebp, ebx
xor ecx, ebx
mov dword [esp + 0x64], ecx
add ebx, ebx
mov ecx, dword [esp + 0x34]
sub ebx, ecx
mov edi, dword [esp + 0x2c]
xor edi, 0x65dd6925
or edi, ecx
mov eax, ebx
or eax, edi
not eax
lea esi, [ebx + edi*2]
add eax, esi
not ebx
or ebx, edi
sub ebx, eax
mov eax, ecx
or eax, 0xaf32e97f
mov esi, 0xaf32e97f
sub esi, eax
and edx, 0xaf32e97f
add edx, esi
mov eax, ecx
or eax, 0x50cd1680
add eax, edx
or esi, ecx
or esi, 0x50cd1680
sub eax, esi
mov edx, eax
xor edx, 0xaf32e97f
mov esi, eax
or esi, 0xaf32e97f
lea edi, [edx + esi]
lea ecx, [edx + esi]
add ecx, 0x50cd1683
mov dword [esp + 0x2c], ecx
and eax, 0x50cd1680
mov edx, eax
not edx
add edx, edi
add edx, 0x50cd1683
mov ecx, ebx
and ecx, 0xf33c252c
add ecx, ebx
mov esi, ebx
xor esi, 0xf33c252c
add esi, ecx
mov ecx, ebx
or ecx, 0xcc3dad3
add ecx, esi
sub ecx, ebx
add ecx, 0xf33c252e
mov esi, ecx
not esi
mov ebx, edx
and ebx, esi
add ebx, ebx
mov edi, ecx
sub edi, ebx
add edi, edx
or edx, ecx
add edx, edi
sub eax, dword [esp + 0x2c]
or eax, ecx
sub edx, eax
add esi, edx
mov eax, esi
and eax, 0xcc3dad3
add eax, eax
mov edi, esi
sub edi, eax
xor esi, 0xf33c252c
add esi, edi
sub edx, ecx
lea ecx, [esi + edx]
lea eax, [edx + esi]
add eax, 0x1987b5a6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
add edx, esi
mov esi, dword [esp + 0x18]
add edx, esi
add edx, 0xd653952b
sub edx, dword [esp + 0x30]
add ebp, edx
mov esi, dword [esp + 0x64]
lea edx, [esi + ebp]
and esi, ebp
sub edx, esi
mov esi, eax
or esi, 0xa7a36735
mov edi, eax
sub edi, esi
add ecx, edi
add ecx, 0x1987b5a6
not eax
or eax, 0x585c98ca
add eax, ecx
mov ecx, eax
and ecx, edx
add ecx, eax
not eax
and eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x585c98ca
lea ecx, [ecx + eax*2]
or eax, 0x585c98ca
sub ecx, eax
lea eax, [ecx - 0x585c98ca]
mov edx, eax
not edx
and edx, 0x8bec0164
add ecx, edx
add ecx, 0xa7a36736
or eax, 0x7413fe9b
add eax, ecx
imul ecx, eax, 0xfee083bf
imul eax, eax, 0x23ef882
add eax, ecx
add eax, 0xfb6455cb
mov ecx, eax
and ecx, 0x85deb5
add ecx, ecx
sub ecx, eax
mov edx, eax
or edx, 0x8085deb5
add edx, ecx
not eax
or eax, 0x8085deb5
sub edx, eax
lea eax, [edx - 1]
mov ecx, eax
and ecx, 0xfb6455ca
add ecx, edx
add ecx, 0xffffffff
neg edx
mov esi, eax
xor esi, 0x49baa35
add esi, ecx
and edx, 0x7b6455ca
lea ecx, [esi + edx*2]
and eax, 0x49baa35
add eax, ecx
imul ecx, eax, 0x5f956c3f
lea eax, [ecx - 0x2ce8a96c]
mov edx, eax
and edx, 0x75
lea edx, [ecx + edx*2]
add edx, 0xd3175694
mov esi, 0x7609c16b
sub esi, ecx
and esi, 0x75
add esi, edx
or eax, 0x8a
sub eax, esi
add al, 0x76
cmp dword [esp + 0x34], 1
sbb ecx, ecx
or cl, al
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x40]
mov byte [eax], cl
mov eax, dword [esp + 0x78]
movsx eax, byte [eax]
push dword [esp + 0x58]
push eax
push dword [esp + 0x64]
call fcn.1005e120
add esp, 0xc
mov ecx, dword [esp + 0x6c]
mov esi, ecx
and esi, eax
mov edi, eax
neg edi
mov edx, esi
not edx
and edx, edi
add edx, esi
lea ebx, [edx + eax*2]
mov edx, esi
or edx, edi
add edx, ebx
xor edi, esi
sub edx, edi
mov esi, eax
or esi, 0xeb10c4fc
mov ebx, esi
not ebx
mov edi, eax
and edi, 0xeb10c4fc
mov ebp, edi
xor ebp, 0xeb10c4fc
add ebp, edi
mov edi, eax
xor edi, 0x14ef3b03
add edi, ebp
mov ebp, eax
not ebp
or ebp, 0xeb10c4fc
sub edi, ebp
mov ebp, esi
and ebp, edi
or ebx, edi
add ebx, ebp
not edi
and edi, esi
add edi, ebx
sub edi, esi
mov esi, edi
and esi, 0x14ef3b03
add esi, esi
mov ebx, edi
sub ebx, esi
mov esi, edi
xor esi, 0xeb10c4fc
add esi, ebx
mov ebx, edi
not ebx
or ebx, 0xeb10c4fc
sub ebx, esi
and edi, 0xeb10c4fc
add edi, ebx
mov esi, ecx
not esi
mov ebx, edi
and ebx, ecx
or esi, edi
add esi, ebx
mov ebx, edi
xor ebx, ecx
add ebx, esi
or edi, ecx
not ebx
add ebx, edi
lea esi, [edx + ebx]
lea ebp, [ecx + ecx]
mov edi, ebp
neg edi
add edx, ebx
add edx, 0x9b18804
mov ebx, edx
and ebx, edi
add ebx, esi
add ebx, 0x9b18804
sub ebx, ebp
xor edx, edi
add edx, ebx
lea ecx, [edx + ecx*2]
mov edx, 0xf64e77fb
sub edx, esi
or edx, edi
lea esi, [ecx + edx]
add ecx, edx
add ecx, 1
mov edx, ecx
and edx, 0x9b18804
add edx, edx
sub ecx, edx
lea edx, [esi + esi]
add edx, 2
or edx, 0xec9ceff6
add ecx, edx
add ecx, 0x9b18806
imul edx, ecx, 0x1ba02551
imul ecx, ecx, 0x37404aa2
or ecx, 0xdd319036
add ecx, edx
mov esi, edx
xor esi, 0x116737e4
add esi, ecx
not edx
add edx, esi
imul edx, edx, 0x9be243b1
lea esi, [edx + 0x4e15b00c]
mov ecx, esi
not ecx
and esi, 0x70
lea edx, [edx + esi*2]
add edx, 0x4e15b00c
add ecx, ecx
or ecx, 0x1e
add ecx, edx
add cl, 0xad
cmp eax, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x78]
mov byte [eax], dl
mov eax, dword [esp + 0x7c]
movsx eax, byte [eax]
push dword [esp + 0x58]
push eax
push dword [esp + 0x64]
call fcn.1005e120
add esp, 0xc
mov edx, dword [esp + 0x6c]
mov ecx, eax
not ecx
mov edi, ecx
mov dword [esp + 0x2c], ecx
and edi, 0xe924be2a
mov ebx, eax
and ebx, 0x16db41d5
mov esi, eax
xor esi, 0x16db41d5
add esi, ebx
mov ebx, ecx
and ebx, 0x6924be2a
lea ecx, [esi + ebx*2]
lea esi, [eax + ecx]
add esi, 0x16db41d7
mov ebp, eax
or edi, esi
mov eax, esi
and eax, 0x16db41d5
xor edi, 0x16db41d5
add edi, eax
or esi, 0xe924be2a
sub esi, edi
add esi, 0x16db41d5
mov ecx, edx
not ecx
mov dword [esp + 0x1c], ecx
mov eax, esi
xor eax, ecx
mov ebx, esi
or ebx, ecx
add ebx, ebx
sub eax, ebx
and esi, ecx
add esi, eax
mov edi, ebp
lea eax, [esi + ebp*2]
lea esi, [esi + ebp*2]
add esi, 0xffffffff
mov ebx, esi
and ebx, 0xa6dd28ad
lea ebp, [ebx + eax]
add ebp, 0xffffffff
mov ecx, edx
neg ecx
or esi, 0x5922d752
mov ebx, esi
not ebx
add ebx, ebp
lea eax, [edx - 1]
and eax, ebx
lea ebx, [esi + ebx*2]
sub esi, ebp
or esi, ecx
add eax, edx
add esi, eax
add esi, ebp
sub ebx, esi
mov eax, ebx
or eax, 0x5922d752
mov ecx, ebx
sub ecx, eax
and ebx, 0xa6dd28ad
add ebx, ecx
mov ebp, edx
xor ebp, edi
mov eax, edx
or eax, edi
lea esi, [eax + edi]
sub esi, ebp
sub esi, edi
mov ecx, dword [esp + 0x2c]
and edx, ecx
add edx, edx
sub ebp, edx
add ebp, eax
mov eax, dword [esp + 0x1c]
or eax, edi
sub ebp, eax
add ebp, ecx
mov eax, esi
and eax, ebp
add eax, eax
mov ecx, esi
or ecx, ebp
add ecx, ebp
sub eax, ecx
xor ebp, esi
add ebp, eax
not esi
add esi, ebp
add esi, ebx
lea ecx, [esi + esi]
add ecx, 0x6dd1fe3c
mov eax, ecx
or eax, 0xf6b95f0e
lea edx, [eax + esi]
add edx, 0xb6e8ff1e
mov esi, ecx
xor esi, 0x946a0f0
add esi, edx
xor ecx, 0xf6b95f0e
add ecx, esi
sub ecx, eax
add ecx, 0xfb5caf8a
imul eax, ecx, 0x447c5b6f
mov edx, eax
xor edx, 0x2d
add edx, eax
not eax
add eax, edx
imul ecx, ecx, 0x88f8b6de
and ecx, 0x5a
add ecx, eax
imul eax, ecx, 0xffffff8f
add al, 0x6c
cmp edi, 1
sbb ecx, ecx
or cl, al
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x7c]
mov byte [eax], cl
mov eax, dword [esp + 0xc0]
movsx eax, byte [eax]
push dword [esp + 0x58]
push eax
push dword [esp + 0x64]
call fcn.1005e120
add esp, 0xc
mov edx, dword [esp + 0x6c]
mov ecx, edx
xor ecx, 0xcb17b1c6
mov esi, edx
and esi, 0x34e84e39
sub esi, ecx
add esi, edx
mov ebp, edx
or ecx, 0x34e84e39
mov edx, eax
not edx
lea edi, [eax + edx*2]
add edi, 1
mov dword [esp + 0x1c], edx
add esi, ecx
add esi, 0xcb17b1c7
mov ecx, edi
not ecx
and ecx, esi
mov ebx, edi
or ebx, esi
add ebx, ecx
not esi
or esi, edi
add esi, ebx
lea ecx, [esi + esi]
sub esi, ecx
lea ecx, [esi + 0x1341abb]
and ecx, 0x1341abc
add ecx, esi
mov edi, 0xcbe544
sub edi, esi
or edi, 0xfecbe543
lea esi, [ecx + edi]
add ecx, edi
add ecx, 0xffffffff
mov edi, ecx
and edi, 0x2b57b09d
add edi, esi
add edi, 0xffffffff
neg esi
and esi, 0xd4a84f62
add esi, edi
xor ecx, 0x2b57b09d
lea edi, [esi + ecx]
add ecx, esi
add ecx, 0x2b57b09e
mov esi, ecx
and esi, edx
add esi, edi
add esi, 0x2b57b09e
mov edx, eax
add esi, eax
mov edi, ecx
not edi
add edi, esi
and ecx, eax
lea ebx, [ecx + edi]
lea esi, [ecx + edi]
add esi, 1
mov dword [esp + 0x18], ebp
mov edi, ebp
not edi
mov eax, dword [esp + 0x1c]
and eax, edi
add eax, ebp
mov ebp, edx
mov dword [esp + 8], edx
or ebp, edi
lea ecx, [eax + ebp*2]
or esi, 0xd4a84f62
add ebx, esi
add ebx, 1
mov ebp, ebx
neg ebp
add ebp, esi
add ebp, 0x2b57b09d
sub esi, ebx
mov ebx, dword [esp + 0x18]
xor ebx, edx
lea eax, [ebx + ecx]
add eax, 2
add ecx, ebx
and eax, ebp
lea edx, [ecx + eax*2]
mov eax, 0xfffffffd
sub eax, ecx
lea ecx, [esi + esi]
add ecx, 0x56af613a
sub edx, ecx
mov ecx, 0xd4a84f62
sub ecx, esi
or ecx, eax
add ecx, edx
and eax, ebp
add eax, ecx
add eax, 4
mov ecx, eax
xor ecx, 0xcb358e6d
not eax
add eax, eax
or eax, 0x6994e324
sub ecx, eax
lea eax, [ecx + 0x6994e323]
mov ebp, dword [esp + 0x18]
lea edx, [ebp - 1]
mov esi, eax
and esi, edx
add ecx, esi
add ecx, 0x6994e323
mov esi, edx
xor esi, eax
add esi, ecx
or eax, edx
mov ecx, ebp
add eax, ebp
sub esi, eax
mov eax, ebp
and eax, dword [esp + 0x1c]
add eax, eax
sub eax, ebx
add eax, edi
or ecx, dword [esp + 8]
add ecx, eax
lea eax, [ecx + ecx*2]
not ecx
lea ebp, [eax + ecx*2]
add ebp, 4
lea eax, [esi - 0x34ca7192]
mov ecx, eax
or ecx, 0x45f87788
add ecx, esi
mov esi, eax
xor esi, 0xba078877
add esi, ecx
or eax, 0xba078877
sub esi, eax
lea edx, [esi + 0x3f449f5e]
and edx, ebp
lea eax, [esi + edx*2]
add eax, 0x3f449f5e
add eax, ebp
mov ebp, dword [esp + 8]
mov ecx, ebp
xor ecx, edi
add ecx, ebx
mov esi, ebp
sub esi, ecx
or edi, dword [esp + 0x1c]
not edx
add edi, esi
lea ecx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0x88c25036
mov edx, eax
and edx, edi
add ecx, ecx
add ecx, 0x1184a06c
sub edx, ecx
or edi, eax
lea eax, [edx + edi]
lea ecx, [edx + edi]
add ecx, 0x344eae69
and ecx, 0xe7b2a44
add ecx, eax
add ecx, 0x344eae69
mov edx, 0xbb15196
sub edx, eax
and edx, 0xe7b2a44
add edx, ecx
neg edx
mov dword [esp + 0x9c], edx
test ebp, ebp
mov ecx, 0xcdecc435
mov eax, 0x401eaddf
cmove ecx, eax
mov eax, 0xf78aae6f
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x30]
mov byte [esp + 0x64], dl
mov edx, dword [esp + 0x34]
mov byte [esp + 0x22], dl
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xda80ea78
mov eax, 0xc7e2cbb6
mov edx, 0xb19fcfa2
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xcdecc435
mov eax, 0xc7e2cbb6
mov edx, 0xf6be68bb
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp + 0x40]
mov ah, byte [eax]
mov al, ah
shl al, 2
mov byte [esp + 0xe], al
mov al, byte [esp + 0x125]
mov byte [esp + 0xf], al
shr al, 4
mov ch, al
add ch, al
mov edx, eax
not dl
mov dh, dl
sub dh, ch
add dh, al
mov ebx, eax
add bl, 1
add dh, bl
add dh, 0xff
or dh, 0xfc
mov ch, dh
not ch
add ch, ch
add ch, dh
add ch, 4
mov dh, dl
and dh, 3
add dh, dl
mov bh, al
and bh, 3
add bh, dh
mov dh, dl
or dh, 3
sub bh, dh
mov dh, dl
or dh, 0xfc
add dh, bl
mov bl, bh
not bl
and bl, dh
mov cl, bh
or cl, dh
add cl, bl
mov bl, ch
not bl
not dh
or dh, bh
add dh, cl
mov bh, 0xfe
sub bh, dh
mov cl, ch
or cl, 0x8a
add cl, ch
and bl, 0x8a
add bl, cl
xor ch, 0x75
add ch, bl
add ch, 2
mov cl, ch
not cl
and cl, bh
add cl, ch
add cl, bh
add dh, 1
or dh, ch
add dh, cl
mov bl, 0x7e
sub bl, dh
add dh, 1
mov cl, dh
add cl, dh
and cl, 0xea
add cl, dh
and bl, 0x75
add bl, cl
or dh, 0x8a
sub bl, dh
mov dh, dl
add dh, dl
add dh, al
add dh, 1
and dh, 7
or dl, 0xf8
add dl, al
mov ch, 0xfe
sub ch, dl
add dl, 1
or dl, dh
add dl, dl
sub dl, dh
or ch, dh
add ch, dl
add ch, 1
xor ch, 0xf8
add ch, bl
add ch, 0x8a
mov cl, al
and cl, 0xc
mov edx, ecx
xor dl, 0x7c
add dl, cl
mov cl, al
or cl, 0x7c
add cl, dl
xor al, 3
add al, cl
add al, al
add al, 0xc
mov cl, ch
not cl
mov edx, ecx
and dl, 0xd9
add dl, ch
xor ch, 0x26
add ch, dl
or cl, 0xd9
sub ch, cl
add ch, 0xd9
mov cl, ch
not cl
and cl, al
add cl, ch
add cl, al
or al, ch
not al
add al, cl
add al, ch
add al, 1
mov ecx, eax
and cl, 0x26
add cl, cl
mov edx, eax
add dl, al
sub dl, cl
not al
mov ecx, eax
or cl, 0xd9
sub dl, cl
or al, 0x26
add al, dl
movzx ecx, al
lea edx, [ecx + ecx*4]
lea edx, [ecx + edx*4]
mov al, 8
sub al, dl
add dl, 0x77
xor dl, 0x40
add al, al
or al, 0x7e
sub dl, al
add dl, 0x7d
mov al, dl
and al, 0xbb
add al, dl
mov ecx, edx
xor cl, 0xbb
add cl, al
or dl, 0xbb
sub cl, dl
movzx ecx, cl
imul edx, ecx, 0x3d
add dl, 0xcc
mov ecx, edx
xor cl, 0x30
add cl, dl
mov al, dl
or al, 0xcf
add al, cl
not dl
add al, dl
or dl, 0xcf
sub al, dl
mov edx, eax
add dl, 0xaf
mov ecx, edx
add cl, dl
and cl, 0x9e
sub cl, al
mov ch, dl
xor ch, 0xcf
add ch, cl
or dl, 0x30
add dl, ch
mov cl, 0xd0
sub cl, al
or cl, 0xcf
sub dl, cl
add dl, 0x20
mov ebx, edx
mov ch, byte [esp + 0xe]
mov cl, ch
not cl
shl ah, 3
movzx esi, cl
lea edx, [esi + esi*2]
add dl, ah
mov al, dl
mov esi, edx
add al, 2
add ah, cl
add ah, cl
mov edx, ecx
mov byte [esp + 8], cl
mov dh, 0xfd
sub dh, ah
or dh, al
add dh, ah
add ah, 2
mov cl, al
or cl, ah
add cl, cl
xor ah, al
sub ah, cl
add ah, dh
mov byte [esp + 0x18], bl
mov dh, bl
not dh
add ah, 2
mov al, ah
mov cl, ah
xor cl, bl
add cl, ah
and ah, dh
add ah, ah
or al, dh
add al, ah
add al, bl
not al
add al, cl
mov cl, dl
add cl, dl
add cl, ch
mov byte [esp + 0xc], cl
or cl, 1
and cl, dh
mov dl, cl
not dl
add dl, dl
add dl, cl
add dl, al
mov byte [esp + 0xd], dl
mov ebx, esi
mov cl, bl
or cl, 2
mov dl, cl
and dl, 0xb
mov eax, ecx
and al, 0xf4
sub dl, al
or bl, 0xf7
add bl, dl
xor cl, 0xb
add cl, bl
mov al, dh
add al, dh
mov ah, byte [esp + 0x18]
add al, ah
mov bl, 0xfe
sub bl, al
add al, al
add al, 2
and al, 0xf8
and bl, 0xfc
add bl, al
add bl, 4
mov dl, ch
mov al, ch
and al, 0xf4
add al, ch
or dl, 0xb
sub al, dl
mov bh, ah
mov dl, ah
and bh, 3
add cl, 1
mov ah, byte [esp + 8]
or ah, 0xf4
add ah, al
add ah, 0xc
or ah, cl
mov al, ah
xor al, 0xb
mov cl, ah
or cl, 0xf4
add cl, al
mov ch, ah
not ch
add ch, cl
mov al, dh
and ah, 0xf4
add ah, ch
add ah, 0xd
mov cl, ah
and cl, dh
add cl, dh
and dl, ah
mov byte [esp + 0x18], dl
or ah, dh
mov byte [esp + 8], ah
and dh, 0xfc
or dh, bh
or al, 3
sub dh, al
add dh, 3
or dh, bl
movzx eax, byte [esp + 0xc]
and al, 0xfc
mov dl, dh
or dl, al
not dh
add dl, dh
or dh, al
sub dl, dh
mov ch, dl
not ch
mov dh, dl
xor dh, 0x96
mov eax, edx
and al, 0x69
mov ebx, edx
add bl, dl
or bl, 0x2c
add bl, al
mov eax, edx
or al, 0x69
add al, bl
or dl, 0x96
sub al, dl
add al, ch
or ch, 0x96
add ch, dh
mov dl, ch
add dl, 1
add al, 2
mov dh, dl
and dh, al
add dh, dh
mov ebx, eax
sub bl, dh
mov dh, dl
or dh, al
add dh, bl
mov bl, 0xfe
mov ah, byte [esp + 0xd]
sub bl, ah
add ah, 1
xor al, dl
not al
add al, dh
add al, ch
add al, 2
mov edx, eax
add dl, al
mov ch, al
xor ch, 0x96
add ch, dl
mov edx, eax
or dl, 0x69
mov dh, al
or dh, 0x96
add dh, dl
sub ch, dh
add ch, 1
mov edx, eax
not dl
add dl, ch
and bl, dl
add bl, bl
mov dh, ah
sub dh, bl
sub dh, dl
xor dl, ah
mov ebx, edx
add bl, dl
add bl, dh
not dl
add dl, dl
add dl, bl
sub al, ch
or al, ah
add al, al
sub dl, al
movzx eax, byte [esp + 0x18]
add al, cl
sub al, byte [esp + 8]
add al, dl
movzx ecx, al
mov eax, ecx
shl eax, 6
add eax, ecx
add al, 0x41
mov ecx, eax
not cl
mov edx, eax
and dl, 0xee
add dl, al
mov ch, al
xor ch, 0x11
add ch, dl
and cl, 0x6e
add cl, cl
add cl, ch
and al, 0x11
add al, cl
mov cl, 0xdc
sub cl, al
movzx ecx, cl
mov eax, ecx
shl eax, 6
sub eax, ecx
mov edx, ecx
shl edx, 7
sub edx, ecx
sub edx, ecx
not al
add al, dl
add al, 0x30
mov byte [esp + 0x2a], al
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x2a]
mov byte [eax], cl
movzx ebx, byte [esp + 0xf]
mov ecx, ebx
shl cl, 4
movzx eax, byte [esp + 0x126]
shr al, 2
mov ch, al
or ch, 0x30
mov ah, al
or ah, 0xf
sub ch, ah
add ch, 0xf
and ch, al
add ch, ch
mov dh, 2
sub dh, ch
mov dl, dh
and dl, 0x7c
add dl, ch
or dh, 0x83
sub dl, dh
add dl, 0x83
mov ch, dl
or ch, 5
mov dh, dl
sub dh, ch
mov ch, dl
or ch, 0xfb
add ch, dh
xor dl, 4
add dl, ch
add dl, ah
mov ah, dl
add ah, 0xf7
mov ch, 8
sub ch, dl
and ch, al
add ch, ah
sub ch, al
or ah, al
not ah
add ah, ch
add ah, dl
mov al, 0x44
sub al, ah
add ah, 0xbb
xor ah, 0xb4
add al, al
not al
and al, 0x69
add al, ah
mov ah, al
and ah, 0xc2
add ah, al
mov edx, eax
xor dl, 0xc2
add dl, ah
or al, 0xc2
sub dl, al
mov ah, dl
add ah, 0x3d
mov al, 0x77
sub al, dl
add dl, 0x88
mov dh, al
and dh, cl
mov ch, cl
not ch
and ch, dl
shl bl, 5
add bl, ch
mov ch, bl
mov ebx, edx
or bl, cl
add bl, bl
sub bl, ch
mov ch, dh
and ch, bl
mov bh, ch
add bh, ch
or bl, dh
add bl, bh
not ch
add ch, ch
add ch, bl
mov dh, 0xfe
sub dh, ch
mov bl, dh
or bl, 0xad
sub bl, ch
xor dh, 0x52
add dh, bl
add ch, 1
add dh, ch
or ch, 0xad
sub dh, ch
add dh, 0xac
mov ch, dh
add ch, dh
and ch, 0x5a
add ch, dh
not dh
add dh, dh
or dh, 0xa4
add dh, ch
mov ch, 0xab
sub ch, dh
mov dh, dl
and dh, cl
mov bl, dh
add bl, dh
sub bl, cl
mov bh, dl
xor bh, cl
add bl, bh
add bl, bh
sub bl, ah
add bl, 0x35
or bl, dh
mov dh, bl
add dh, bl
mov bh, dh
add dh, 0xff
and dh, ch
add dh, ch
shl bl, 2
sub dh, bl
neg bh
or bh, ch
sub dh, bh
not dh
mov bl, ah
add bl, ah
mov ch, dl
sub ch, bl
add ch, ah
add ch, 0xb5
or ch, al
add ch, dh
mov ah, al
and ah, 0x35
mov dh, al
xor dh, 0x35
add dh, ah
mov ah, al
xor ah, 0xca
add ah, dh
mov ebx, eax
or bl, 0x35
mov dh, dl
or dh, 0x35
add dh, bl
add dl, dl
and dl, 0x94
and al, 0xca
add al, dl
add ah, 0x35
not ah
add ah, dh
mov edx, eax
add dl, 0x36
or ah, dl
sub al, ah
add al, 0x35
xor al, 0xca
or al, cl
mov dl, 0xfe
sub dl, ch
add dl, dl
add dl, ch
mov ecx, edx
add cl, 3
mov ah, al
not ah
and ah, cl
add ah, cl
add ah, al
mov ch, cl
xor ch, al
sub ah, ch
or cl, al
add cl, ah
sub cl, dl
add cl, 0xfc
mov eax, ecx
not al
add al, al
add al, cl
mov cl, 0x72
sub cl, al
mov eax, ecx
xor al, 0x72
add cl, cl
and cl, 0x1a
sub al, cl
add al, 1
mov byte [esp + 0x122], al
imul ecx, dword [esp + 0x60], 0x9140cab7
lea eax, [ecx + 0x6ebf3549]
mov edx, eax
and edx, 0xb8f23c48
add ecx, edx
add ecx, 0x6ebf3549
mov edx, eax
xor edx, 0x470dc3b7
add edx, ecx
mov ecx, eax
not ecx
and ecx, 0x38f23c48
lea ecx, [edx + ecx*2]
and eax, 0x470dc3b7
add eax, ecx
mov ecx, 0x71e47890
sub ecx, eax
imul eax, ecx, 0x2017ccf9
imul ecx, ecx, 0x402f99f2
not eax
add eax, ecx
add eax, 0x89ca3100
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x60]
cmp eax, 2
mov ecx, 0x13d4ad87
mov eax, 0x7a18199
cmovge ecx, eax
mov eax, 0xf78aae6f
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xf3a3a9b3
mov eax, 0xedf6ca2c
mov edx, 0xbc5ac981
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xad008081
mov eax, 0xc7e2cbb6
mov edx, 0xdf38e3ae
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x3104a543
mov eax, 0x7ebf8824
mov edx, 0x12f6a95b
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x526fa2bd
mov eax, 0xc7e2cbb6
mov edx, 0xdc382c83
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0xcbd87272
mov eax, 0xb0f1dee6
mov edx, 0xe2d9b232
cmovl eax, edx
jmp 0x10057530
movsx edx, byte [esp + 0x15]
mov ecx, dword [esp + 0x3c]
call fcn.1005ae00
jmp 0x1005ad69
mov eax, dword [esp]
cmp eax, 0xe5a1d084
mov eax, 0x32b6c324
mov edx, 0x581e99cd
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x6738afb9
mov eax, 0xc7e2cbb6
mov edx, 0xb01e34f9
cmove eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x6366fda4
mov eax, 0x50344771
mov edx, 0x5b41ad1b
cmovl eax, edx
jmp 0x10057530
mov eax, dword [esp]
cmp eax, 0x37c77ffe
mov eax, 0xc7e2cbb6
mov edx, 0x61f0cd30
cmove eax, edx
jmp 0x10057530
movsx edx, byte [esp + 0x17]
mov ecx, dword [esp + 0x3c]
call fcn.1005ae00
jmp 0x1005acef
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
movzx ebx, byte [esp + 0x17]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x69915693], 0
mov eax, 0xf78aae6f
mov ecx, 0x2d4c20a4
jmp 0x10057530
mov eax, dword [eax]
mov ecx, dword [esp + 0xc8]
movzx eax, byte [eax + ecx]
mov byte [esp + 7], al
movzx eax, byte [esp + 7]
cmp al, 0x3d
mov ecx, 0x3104a543
mov eax, 0xd3b2eafd
cmove ecx, eax
movzx eax, byte [esp + 0x14]
mov byte [esp + 6], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x11], al
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x10], al
mov eax, 0xf78aae6f
mov edx, dword [esp + 0x68]
mov dword [esp + 0x70], edx
jmp 0x10057530
mov ecx, dword [ecx]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x15]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x3c72f261], 0
mov eax, 0xf78aae6f
mov ecx, 0xda80ea78
jmp 0x10057530
mov ecx, dword [ecx]
mov edx, dword [esp + 0x90]
movzx ebx, byte [esp + 0x2b]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x584744a2], 0
mov eax, 0xf78aae6f
mov ecx, 0x84dd6830
jmp 0x10057530
mov ecx, dword [ecx]
mov edx, dword [esp + 0x88]
movzx ebx, byte [esp + 0x16]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x232b08f1], 0
mov eax, 0xf78aae6f
mov ecx, 0x4134e6a
jmp 0x10057530
cmp eax, 0xf6035422
jne 0x10057530
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.1005d66a
add esp, 0x12c
pop esi
pop edi
pop ebx
pop ebp
ret