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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov ebx, dword [esp + 8]
mov eax, ebx
neg eax
and eax, 0xd4ed14ff
add eax, eax
sub eax, ebx
lea ecx, [ebx + ebx]
add ecx, 0xfffffffe
or ecx, 0x5625d600
mov edi, ebx
and edi, 0x80000000
mov esi, edi
xor esi, 0x80000000
lea edx, [esi + esi*2]
add edx, edi
mov dword [esp + 4], edx
lea edi, [eax + ecx]
add eax, ecx
add eax, 0xb48a1c8e
mov dword [esp + 0x18], eax
mov eax, 0x4b75e371
sub eax, edi
mov dword [esp + 0x14], eax
mov edi, ebx
and edi, 0x1165db1d
mov eax, edi
xor eax, 0x1165db1d
lea eax, [eax + eax*2]
mov ecx, edi
sub ecx, eax
mov eax, ebx
or eax, 0x1165db1d
add ecx, eax
mov ebp, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x20], eax
or eax, 0xdd3449c4
sub ecx, eax
mov edx, ebx
not edx
mov esi, edx
or edx, 0x1165db1d
add edx, ecx
not edi
add edi, edx
mov eax, dword [esp + 4]
add eax, ebx
and esi, 0xee9a24e2
and ebp, edi
mov dword [esp + 0x28], ebp
mov ecx, esi
xor ecx, edi
or esi, edi
or edi, ebx
mov edx, ebx
or edx, 0x80000000
not eax
add eax, edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x14]
and ebx, eax
add ebx, ebx
mov eax, dword [esp + 0x18]
sub eax, ebx
mov ebx, dword [esp + 4]
xor ebx, 0x80000000
add eax, ebx
xor ebx, dword [esp + 0x18]
add ebx, eax
add ebx, dword [esp + 4]
mov eax, dword [esp + 0x14]
lea ebp, [ebx + eax]
mov dword [esp + 4], ebp
add ebx, eax
add ebx, 0xef96ae4
mov eax, ebx
xor eax, 0xc3838770
add eax, dword [esp + 4]
xor ebx, 0x3c7c788f
add ebx, eax
sub ecx, dword [esp + 0x28]
add esi, ecx
or edi, 0x1165db1d
lea eax, [edi + esi]
add eax, 1
xor eax, 0xee9a24e2
lea ecx, [ebx + eax]
add ecx, ecx
add eax, ebx
add eax, 0xec2e5d90
xor eax, 0xa0b87a19
mov esi, 0xa7a344de
sub esi, ecx
or esi, 0xbe8f0bcc
sub eax, esi
sub edx, dword [esp + 0x20]
add edx, eax
imul eax, edx, 0x25d11907
lea ecx, [eax + 0x25cb258d]
mov edx, ecx
not edx
mov esi, edx
and esi, 0xfecff5f1
add eax, esi
add eax, 0x25cb258d
xor ecx, 0x1300a0e
add ecx, eax
or edx, 0xfecff5f1
sub ecx, edx
imul eax, ecx, 0x9a0504b7
lea ecx, [eax - 0x2e359347]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xdad02ba7
add eax, esi
add eax, 0xd1ca6cb9
and edx, 0x252fd458
add edx, eax
xor ecx, 0xdad02ba7
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x136567a0
mov edx, 0x2c9a985f
sub edx, eax
and edx, 0x252fd458
or ecx, 0xdad02ba7
add ecx, edx
not ecx
add eax, ecx
add eax, 0x2e359348
mov ebx, dword [esp + 0x40]
cmp eax, ebx
setb byte [esp + 0x13]
mov edi, ebx
not edi
mov eax, edi
and eax, 0xe53bf9a2
mov ecx, ebx
and ecx, 0x1ac4065d
mov edx, edi
and edx, 0x1ac4065d
lea esi, [edx + ecx*2]
lea ecx, [edx + ecx*2]
add ecx, 0xe53bf9a3
or eax, ecx
mov edx, 0x1ac4065c
sub edx, esi
and edx, 0x1ac4065d
xor eax, 0x1ac4065d
add eax, edx
or ecx, 0xe53bf9a2
add ecx, eax
mov eax, 0xfffffffe
sub eax, ecx
mov dword [esp + 0x74], eax
mov edx, edi
and edx, 0xf4dc15b4
add edx, edi
mov eax, ebx
and eax, 0xb23ea4b
add edx, eax
mov dword [esp + 0x20], edi
mov ecx, edi
or ecx, 0xb23ea4b
sub edx, ecx
mov ecx, dword [esp + 0x94]
or edx, eax
mov eax, ecx
not eax
xor edx, 0xf4dc15b4
lea esi, [ecx + eax*2]
add esi, 1
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
lea eax, [ecx + eax*2 + 2]
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], edx
lea eax, [edx + edx + 1]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
lea eax, [eax + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, 0x9cde42ac
mov eax, 0x375515be
jmp 0x1004cec0
mov ecx, 0x9cde42ac
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0x93b3619
jle 0x1004cf30
cmp ecx, 0x413d218e
jle 0x1004cfa0
cmp ecx, 0x68732151
jg 0x1004d052
cmp ecx, 0x4cce8703
jle 0x1004d4aa
cmp ecx, 0x546c7a7b
jg 0x1004d94b
cmp ecx, 0x4cce8704
je 0x1004df1d
cmp ecx, 0x51031c32
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc697e9aa
mov ecx, 0x85e46182
mov edx, 0x2b13e93a
cmovl ecx, edx
jmp 0x1004cec0
cmp ecx, 0x9fdeaa33
jle 0x1004cff0
cmp ecx, 0xfd0207be
jle 0x1004d09d
cmp ecx, 0x2b2af9d
jle 0x1004d46b
cmp ecx, 0x6930def
jg 0x1004d995
cmp ecx, 0x2b2af9e
je 0x1004df38
cmp ecx, 0x6827670
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xe15a8580
mov ecx, 0xfd0207bf
mov edx, 0x673b75b2
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x2669e373
jg 0x1004d3d5
cmp ecx, 0x15011664
jle 0x1004d4e9
cmp ecx, 0x1a94d7b9
jg 0x1004d9c8
cmp ecx, 0x15011665
je 0x1004df53
cmp ecx, 0x19cda782
jne 0x1004cec0
mov ecx, 0x1a94d7ba
jmp 0x1004cec0
cmp ecx, 0x8c26d0e7
jle 0x1004d420
cmp ecx, 0x94ba1985
jle 0x1004d528
cmp ecx, 0x9cde42ab
jg 0x1004d9fb
cmp ecx, 0x94ba1986
je 0x1004df72
cmp ecx, 0x9622a133
jne 0x1004cec0
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffdd
mov eax, 0xc0f50b7f
mov ecx, 0x5d39139c
cmovb eax, ecx
mov ecx, 0x1a94d7ba
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
jmp 0x1004cec0
cmp ecx, 0x6cebdf30
jle 0x1004d63c
cmp ecx, 0x780b6f2a
jg 0x1004dadf
cmp ecx, 0x6cebdf31
je 0x1004df8d
cmp ecx, 0x71aac1e9
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xe15a8580
mov ecx, 0x6827670
mov edx, 0xf37b135
cmovl ecx, edx
jmp 0x1004cec0
cmp ecx, 0xb7a3292a
jle 0x1004d67b
cmp ecx, 0xd861d35e
jg 0x1004db12
cmp ecx, 0xb7a3292b
je 0x1004dfa8
cmp ecx, 0xd5be89b4
jne 0x1004e8c7
mov ecx, dword [esp + 8]
mov edx, ecx
mov ebx, dword [esp + 0x74]
xor edx, ebx
add edx, ecx
mov eax, ecx
not eax
mov esi, ebx
or esi, eax
mov dword [esp + 4], eax
lea edi, [edx + esi]
add esi, edx
add esi, 2
mov edx, ecx
and edx, ebx
mov ebx, edx
not ebx
add edi, ebx
add edi, 2
sub edx, esi
and edx, ecx
add edx, edi
xor edi, ecx
sub edx, edi
mov edi, edx
and edi, 0x54af0790
mov esi, edi
xor esi, 0x54af0790
lea esi, [esi + edx*2]
xor edx, 0xab50f86f
add edx, esi
not edi
add edi, edx
lea esi, [edi + ecx]
mov edx, dword [esp + 0x20]
lea ebp, [ecx + edx]
mov edx, eax
mov eax, dword [esp + 0x40]
and edx, eax
add ebp, edx
mov ebx, 0xfffffffe
sub ebx, esi
lea esi, [ecx + edi]
add esi, 1
mov dword [esp + 0x78], esi
mov esi, ecx
and esi, dword [esp + 0x20]
sub esi, ecx
lea esi, [esi + ecx*2]
xor ecx, eax
sub ebp, ecx
lea edi, [ebx + ebp*2]
add edi, 2
mov dword [esp + 0x34], edi
add ebp, 1
or ebx, ebp
sub ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x78]
or edi, ebp
add edi, ebx
mov ebp, eax
sub edx, eax
mov eax, dword [esp + 4]
mov ebx, eax
or ebx, ebp
add edx, ebx
add edx, ecx
or eax, dword [esp + 0x20]
sub edx, eax
add esi, eax
lea eax, [ebx + esi]
add eax, 2
mov ecx, edx
xor ecx, eax
lea esi, [ecx + ecx]
mov ebx, edx
or ebx, eax
add ebx, ebx
sub esi, ebx
not ecx
add ecx, esi
and edx, eax
add edx, ecx
add edx, edi
sub edx, dword [esp + 0x70]
add edx, dword [esp + 0x60]
imul ecx, edx, 0x3ec4ccfb
lea eax, [ecx + 0x4c31d718]
mov edx, 0x33ce28e7
sub edx, ecx
and edx, 0x6834efba
add edx, ecx
add edx, 0x4c31d718
xor eax, 0x97cb1045
add eax, edx
mov edx, 0xb3ce28e7
sub edx, ecx
or edx, 0x6834efba
sub eax, edx
imul eax, eax, 0x6de55e33
add eax, 0x9d8b045f
mov ecx, eax
or ecx, 0x2a0bf1f2
and eax, 0x2a0bf1f2
add eax, ecx
mov ecx, eax
xor ecx, 0x1d085fe8
add ecx, eax
mov edx, eax
not edx
and edx, 0xe2f7a017
add edx, ecx
and eax, 0x1d085fe8
add eax, edx
add eax, 0x1d085fe9
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov ebp, eax
not ebp
lea ecx, [eax + ebp*2]
add ecx, 1
mov edx, ecx
or edx, 0xfffffff0
mov esi, edx
not esi
mov edi, edx
and edi, 0xe7e3f2c
lea esi, [edi + esi*2]
mov edi, edx
xor edi, 0xe7e3f2c
add edi, esi
add edi, edx
or ecx, 0xfffffffc
sub edi, ecx
lea ecx, [edi + 1]
mov edx, ecx
xor edx, 0xa7cf5e76
add edx, edi
mov edi, eax
or edi, 0xf
xor ecx, 0x5830a189
add ecx, edx
lea esi, [edi + ecx]
add esi, 0x5830a18c
add ecx, edi
mov edx, esi
not edx
and edx, 0xa7cf5e76
lea ecx, [edx + ecx*2]
add ecx, 0xb0614318
or esi, 0xa7cf5e76
sub ecx, esi
mov dword [esp + 4], ecx
mov ebx, eax
and ebx, 0xf
mov ecx, ebx
xor ecx, 0xf
lea edx, [ecx + ecx*2]
mov esi, ebx
sub esi, edx
add esi, edi
mov edi, eax
or edi, 0xfffffff0
sub esi, edi
sub esi, edi
or ebp, 0xf
add esi, ebp
not ebx
add ebx, esi
lea edx, [eax + eax]
xor edx, 0x1e
add edx, edi
add ebp, edx
add ebp, 2
or ebp, ebx
mov esi, ebp
not esi
mov edx, ebp
and edx, 0x527c3bac
xor ebp, 0xad83c453
add ebp, edx
mov ebx, esi
and ebx, 0xad83c453
add ebp, esi
add esi, esi
or esi, 0xa4f87758
sub ebp, esi
add ebp, 0x527c3bac
or ebx, ebp
mov edx, ebx
and edx, 0xad83c453
mov esi, ebx
xor esi, 0x527c3bac
add esi, edx
xor ebx, 0xad83c453
add ebx, esi
or ebp, 0xad83c453
sub ebx, ebp
mov edx, dword [esp + 4]
lea esi, [edx + ebx]
add edx, ebx
add edx, 0xa7cf5e76
and eax, 0xfffffff0
or ecx, eax
add eax, ecx
add ecx, edi
sub eax, ecx
mov ecx, edx
and ecx, 0xcca49ec2
mov edi, ecx
xor edi, 0xcca49ec2
lea esi, [edi + esi*2]
add esi, 0x4f9ebcec
xor edx, 0x335b613d
add edx, esi
not ecx
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x90bb0f4a
lea ecx, [edx + edx]
add ecx, 0x99493d88
mov esi, 0x77d31ef2
sub esi, ecx
or eax, 0x4cc364b6
add eax, edx
add eax, 0xcca49ec4
and esi, 0x66793692
add esi, eax
mov eax, 0x6f44f0b5
sub eax, edx
or eax, 0x4cc364b6
sub esi, eax
add esi, 0x801ec5f5
mov dword [esp + 0x38], esi
cmp dword [esp + 0x38], 0
mov eax, 0x67d7efd1
mov ecx, 0x5d39139c
cmovs eax, ecx
jmp 0x1004e44b
cmp ecx, 0x2b13e939
jg 0x1004d6ba
cmp ecx, 0x2983e5d2
jle 0x1004debe
cmp ecx, 0x2983e5d3
je 0x1004dfc4
cmp ecx, 0x2a6582b3
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x7dac4169
mov ecx, 0xfd0207bf
mov edx, 0xd861d35f
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x85e46181
jg 0x1004d90c
cmp ecx, 0x8000c76a
je 0x1004dfdf
cmp ecx, 0x82a64218
je 0x1004dffa
cmp ecx, 0x859927d6
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x1c613b24
mov ecx, 0xfd0207bf
mov edx, 0x275f82d
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0xff6d85b0
jg 0x1004dee5
cmp ecx, 0xfd0207bf
je 0x1004e015
cmp ecx, 0xff531feb
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x56e5ebce
mov ecx, 0x8c13e942
mov edx, 0x6cebdf31
cmovl ecx, edx
jmp 0x1004cec0
cmp ecx, 0x413d218f
je 0x1004e01f
cmp ecx, 0x4272e47a
je 0x1004e03a
cmp ecx, 0x48785563
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x311dbf35
mov ecx, 0xfd0207bf
mov edx, 0x9622a133
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x93b361a
je 0x1004e055
cmp ecx, 0xe7b48f2
je 0x1004e070
cmp ecx, 0xf37b135
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xcc8a6923
mov ecx, 0xfd0207bf
mov edx, 0xd5be89b4
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x8c26d0e8
je 0x1004e08b
cmp ecx, 0x9209ea37
je 0x1004e30d
cmp ecx, 0x92ec4d87
jne 0x1004cec0
push dword [esp + 8]
push dword [esp + 0x28]
push dword [esp + 0x14]
call fcn.1005c4f0
add esp, 0xc
mov eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov esi, dword [esp + 0x94]
push esi
push dword [esp + 0x94]
push eax
call fcn.1005c4f0
add esp, 0xc
mov eax, dword [esp + 8]
add eax, esi
imul eax, eax, 0x34cf1f4d
mov ecx, eax
and ecx, 0xff3cb9c1
mov edx, eax
and edx, 0xc3463e
add edx, eax
sub ecx, edx
xor eax, 0xff3cb9c1
add eax, ecx
imul ecx, eax, 0xfc7cce7b
lea eax, [ecx + 0x15bae48a]
mov edx, 0xea451b75
sub edx, ecx
and edx, 0x8905af80
add ecx, edx
add ecx, 0x15bae48a
or eax, 0x76fa507f
add eax, ecx
mov ecx, 0x8905af7e
sub ecx, eax
or ecx, 0x75228dbb
lea ecx, [ecx + eax*2]
mov edx, 0x905af7e
sub edx, eax
or edx, 0x8add7244
lea esi, [ecx + edx]
add ecx, edx
add ecx, 0x63172ebf
mov eax, ecx
not eax
lea edx, [esi + esi]
add edx, 0xc62e5d7e
xor edx, 0xedf4a0fe
add edx, esi
add edx, 0x63172ebf
mov esi, ecx
or esi, 0x8905af80
add esi, edx
xor ecx, 0x8905af80
add ecx, esi
or eax, 0x76fa507f
add eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax - 0x76fa507d], 0
jmp 0x1004df63
cmp ecx, 0x68732152
je 0x1004e328
cmp ecx, 0x6a5e1b19
je 0x1004e45d
cmp ecx, 0x6c337eaf
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5129fced
mov ecx, 0xff531feb
mov edx, 0x2b2af9e
cmovl ecx, edx
jmp 0x1004cec0
cmp ecx, 0x9fdeaa34
je 0x1004e478
cmp ecx, 0xa62e8a3a
je 0x1004e493
cmp ecx, 0xb494abcb
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5d39139c
mov ecx, 0xfd0207bf
mov edx, 0xdf399790
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x2b13e93a
je 0x1004e4ae
cmp ecx, 0x359b7cbc
je 0x1004e4c9
cmp ecx, 0x413d16a8
jne 0x1004cec0
mov eax, dword [esp + 0x30]
mov eax, dword [eax - 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x30]
mov edx, ecx
and edx, 3
mov eax, ecx
xor eax, 3
sub eax, edx
mov esi, ecx
or esi, 0xfffffffc
add esi, eax
add esi, 4
and esi, ecx
lea eax, [esi - 0x7d74034e]
mov edi, 0x7d74034d
sub edi, esi
mov ebx, edi
and ebx, 0x7d74034e
add ebx, esi
xor eax, 0x828bfcb1
add eax, ebx
or edi, 0x7d74034e
sub eax, edi
mov edi, eax
not edi
mov esi, ecx
and esi, 0xfffffffc
lea edx, [edx + esi*2]
mov esi, ecx
xor esi, 0xfffffffc
add esi, edx
mov edx, ecx
or edx, 3
sub esi, edx
mov edx, ecx
not edx
add edx, esi
add edx, 4
and edx, ecx
mov ecx, eax
xor ecx, 0xcb704d5b
add ecx, eax
and edi, 0x348fb2a4
add edi, ecx
and eax, 0xcb704d5b
add eax, edi
lea ecx, [eax + edx]
add eax, edx
add eax, 0x348fb2a6
lea edx, [ecx + ecx]
add edx, 0x691f654c
or edx, 0x691f6548
add ecx, edx
add ecx, 0x348fb2a6
mov edx, eax
xor edx, 0xcb704d5b
add edx, ecx
not eax
mov esi, 0xdfb4d51f
sub esi, edx
sub esi, eax
add eax, edx
add eax, 0x204b2ae0
mov ecx, esi
and ecx, 0xfffffffc
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0xfffffffc
add ecx, edx
add ecx, esi
and eax, 0xfffffffc
add eax, ecx
imul ecx, eax, 0xe5a6f953
lea eax, [ecx - 0x4101979e]
mov edx, 0x4101979d
sub edx, ecx
and edx, 0x9b0ab1af
neg edx
add edx, ecx
add edx, 0xbefe6862
xor eax, 0x9b0ab1af
add eax, edx
mov edx, 0xc101979d
sub edx, ecx
or edx, 0x9b0ab1af
lea ecx, [eax + edx]
add eax, edx
add eax, 0x64f54e52
mov edx, eax
not edx
mov esi, edx
and esi, 0x65587227
add ecx, esi
add ecx, 0x64f54e52
and edx, 0x9aa78dd8
add edx, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x65587228
mov edx, eax
not edx
and edx, 0x64f54e50
add ecx, edx
add ecx, 0x65587228
mov edx, eax
xor edx, 0x9b0ab1af
add edx, ecx
and eax, 0x9b0ab1af
add eax, edx
imul eax, eax, 0x95fb2db
lea ecx, [eax + 0x44809c33]
mov edx, ecx
and edx, 0x4d5e3aa9
add eax, edx
add eax, 0x44809c33
or ecx, 0xb2a1c556
sub eax, ecx
lea ecx, [eax - 0x4d5e3aaa]
mov edx, 0x4d5e3aa9
sub edx, eax
and edx, 0x9414c6b5
neg edx
add edx, eax
add edx, 0xb2a1c556
xor ecx, 0x9414c6b5
add ecx, edx
mov edx, 0xcd5e3aa9
sub edx, eax
or edx, 0x9414c6b5
add edx, ecx
sub edx, dword [esp + 0x58]
lea eax, [edx + 0x6beb394c]
mov ecx, eax
not ecx
and eax, 0x1414c6b5
lea eax, [edx + eax*2]
add eax, 0x6beb394c
add ecx, ecx
or ecx, 0xd7d67294
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x89516353
mov ecx, eax
and ecx, 0x8563f811
add ecx, edx
add ecx, 0x89516353
mov edx, eax
xor edx, 0x8563f811
add edx, ecx
or eax, 0x8563f811
sub edx, eax
add edx, 0xac36364
cmp edx, 0x20
mov eax, 0x1c613b24
mov ecx, 0xf7bab214
cmovb eax, ecx
mov ecx, 0x1a94d7ba
jmp 0x1004cec0
cmp ecx, 0x85e46182
je 0x1004e4e4
cmp ecx, 0x8b9c4999
je 0x1004e4ff
cmp ecx, 0x8c13e942
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x56e5ebce
mov ecx, 0xfd0207bf
mov edx, 0x6930df0
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x546c7a7c
je 0x1004e51a
cmp ecx, 0x673b75b2
jne 0x1004cec0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
cmp eax, 0x10
mov eax, 0x5129fced
mov ecx, 0x56e5ebce
jmp 0x1004e300
cmp ecx, 0x6930df0
je 0x1004e535
cmp ecx, 0x7393ef0
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc8175824
mov ecx, 0xfd0207bf
mov edx, 0x15011665
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x1a94d7ba
je 0x1004ceae
cmp ecx, 0x20547e4e
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x59cc8383
mov ecx, 0xfd0207bf
mov edx, 0x8c26d0e8
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0x9cde42ac
je 0x1004e886
cmp ecx, 0x9d8b00ee
jne 0x1004cec0
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 0x50d4db69]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xaf2b2497
add esi, eax
and edx, 0x50d4db68
add edx, esi
xor ecx, 0xaf2b2497
lea eax, [ecx + edx]
add eax, 1
imul ecx, eax, 0xf8f14d19
lea edx, [ecx + 0x1eed784]
and edx, 0xfdc94f4
lea edx, [ecx + edx*2]
add edx, 0x1eed784
imul eax, eax, 0xe1d65ce
add eax, edx
mov edx, 0x7e11287b
sub edx, ecx
add edx, edx
or edx, 0x1fb929e8
sub eax, edx
add eax, 0x8bfee5ea
mov ecx, eax
or ecx, 0x3bfdcc31
or eax, 0xc40233ce
add eax, ecx
imul ecx, eax, 0x1ae240d7
lea eax, [ecx - 0x118f1aee]
mov edx, 0x118f1aed
sub edx, ecx
and edx, 0xed8b42d9
add edx, ecx
add edx, 0xee70e512
xor eax, 0x1274bd26
add eax, edx
mov edx, 0xf18f1aed
sub edx, ecx
or edx, 0xed8b42d9
sub edx, eax
add edx, 0x1274bd27
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], eax
mov ecx, 0x1a94d7ba
mov eax, 0xc8175824
jmp 0x1004cec0
cmp ecx, 0x780b6f2b
je 0x1004e893
cmp ecx, 0x784a58c2
jne 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x59cc8383
mov ecx, 0x8000c76a
mov edx, 0x6c337eaf
cmovl ecx, edx
jmp 0x1004cec0
cmp ecx, 0xdf399790
jne 0x1004e8ba
mov esi, dword [esp + 4]
mov ecx, esi
and ecx, 0x24
mov eax, esi
xor eax, 0x24
lea edx, [eax + ecx*2]
mov eax, esi
mov ebx, esi
not eax
lea esi, [eax + eax]
lea edx, [edx + eax*2]
or esi, 0x48
sub edx, esi
mov esi, ecx
xor esi, edx
not edx
or ecx, edx
add ecx, esi
sub edx, ecx
mov edi, 0xffffffdc
sub edi, ebx
lea ecx, [ebx + 0x23]
mov esi, ecx
and esi, edx
add esi, edi
add esi, edx
xor edi, edx
not edi
add edi, esi
or ecx, edx
sub ecx, edi
mov edx, ebx
or edx, 0x24
mov esi, edx
not esi
add esi, esi
lea edi, [esi + edx*4]
lea edx, [esi + edx*4]
add edx, 4
mov esi, ecx
not esi
and esi, edx
add esi, ecx
sub esi, edi
or edx, ecx
not edx
add edx, esi
lea esi, [edx + ecx]
add edx, ecx
add edx, 0x78e7983f
mov ecx, edx
and ecx, 0x25
mov edi, edx
and edi, 0xffffffda
sub ecx, edi
add esi, ecx
add esi, 0x78e7983f
xor edx, 0x25
lea ecx, [esi + edx]
add edx, esi
add edx, 0x871867be
mov ebp, ebx
mov dword [esp + 4], ebx
mov edi, ebx
and edi, 0x8f5e06c9
or eax, 0x70a1f936
add eax, edi
xor edi, 0x8f5e06c9
mov esi, ebx
or esi, 0x70a1f936
xor ebp, 0x8f5e06c9
add ebp, esi
sub ebp, eax
or edi, ebp
mov ebx, edi
xor ebx, 0x70a1f936
mov eax, ebx
and eax, 0x24
and ebp, 0x24
lea esi, [ebp*2]
add esi, ebp
mov ebp, edi
xor ebp, 0x70a1f912
sub ebp, esi
mov esi, ebx
or esi, 0x24
add esi, ebp
add ebx, ebx
or ebx, 0xffffffb6
sub esi, ebx
or edi, 0x24
xor edi, 0x8f5e06c9
add edi, esi
mov esi, eax
not esi
add edi, esi
mov ebx, edi
and ebx, esi
mov ebp, eax
xor ebp, edi
sub ebp, ebx
or eax, edi
add eax, ebp
or edi, esi
add edi, eax
mov eax, edx
and edx, 0x2c5d796
lea ecx, [ecx + edx*2]
add ecx, 0x871867be
not eax
add eax, eax
or eax, 0xfa7450d2
add eax, ecx
not edi
add eax, edi
add eax, 2
push eax
call fcn.100563e4
add esp, 4
mov ecx, eax
and ecx, 0x23
mov edi, eax
xor edi, 0x23
add ecx, edi
lea edx, [eax + 0xc8fb668]
mov esi, 0xf3704997
sub esi, eax
and esi, ecx
lea esi, [esi + eax*2]
add esi, 0x191f6cd0
add esi, ecx
mov ebx, edx
xor ebx, ecx
not ebx
add ebx, esi
and ecx, edx
not ecx
lea edx, [ebx + ecx]
add ecx, ebx
add ecx, 0xf370499a
mov ebx, eax
and ebx, 0x9a9e30a8
xor ebx, 0x9a9e3088
mov esi, eax
and esi, 0x6561cf57
xor esi, 0x6561cf54
add esi, edi
mov edi, eax
xor edi, 0x9a9e308b
lea ebp, [esi + edi]
add esi, edi
add esi, 1
lea edi, [ebx + ebp]
add edi, 1
mov ebp, ebx
or ebp, esi
not ebp
add ebp, edi
xor ebx, esi
lea edi, [ebx + ebp]
add edi, 1
xor edi, 0x9a9e30a8
lea esi, [edx + edx]
add esi, 0xe6e09334
mov ebx, ecx
xor ebx, 0x2d89fc45
sub ebx, esi
xor ecx, 0xd27603ba
add ecx, ebx
add ecx, edx
mov edx, eax
or edx, 0x23
mov esi, eax
xor esi, 0xffffffdc
mov ebp, 0x22
sub ebp, edx
sub ebp, esi
lea ebx, [ecx + edi]
add ecx, edi
add ecx, 0xf370499c
add edx, esi
add edx, 0xffffffdd
and ebp, ecx
lea esi, [ebx + ebp]
add esi, 0xf370499c
mov edi, 0xc8fb663
sub edi, ebx
and edi, edx
add edi, esi
add edi, edx
xor ecx, edx
sub ecx, edi
mov ebx, ecx
not ebx
lea edx, [ebx + ebx]
or edx, 0x3e
mov esi, ecx
and esi, 0xffffffe0
add edx, esi
lea edi, [edx + esi*2]
lea esi, [edx + esi*2]
add esi, 2
mov edx, esi
not edx
and esi, 0xe98e27a0
lea edi, [edi + esi*2]
add edi, 2
add edx, edx
or edx, 0x2ce3b0be
mov esi, ebx
and esi, 0xa726a453
lea esi, [esi + esi*2]
mov ebp, ebx
and ebp, 0x58d95bac
add ebp, esi
or ebx, 0x58d95bac
sub ebp, ebx
lea esi, [ecx + ebp]
add esi, 0x58d95bad
mov ebp, ecx
and ebp, 0x58d95bac
mov ebx, esi
xor ebx, ebp
and ebp, esi
add ebp, ebx
mov esi, ebp
not esi
mov ebx, ebp
add ebx, ebp
xor ebx, 0xb1b2b758
and esi, 0xa726a453
add esi, ebx
lea ebx, [edi + edx]
and ebp, 0x58d95bac
add ebp, esi
add ebp, 1
and ebp, 0xffffffe0
mov esi, ebp
add esi, ebp
sub ebp, esi
mov esi, 0xfffffffe
sub esi, ebx
add edx, edi
add edx, 1
mov edi, edx
and edi, ebp
add edi, ebp
sub ebx, edi
or ebp, esi
add ebp, ebx
add edx, ebp
add edx, 3
or ecx, 0x1f
mov esi, edx
or esi, 0xea92b51b
not edx
or edx, 0x156d4ae4
sub esi, edx
add esi, ecx
imul edx, esi, 0x6efbd90f
lea ecx, [edx - 0x45957f95]
mov esi, 0x45957f94
sub esi, edx
and esi, 0xf7ae59c6
neg esi
add esi, edx
add esi, 0xba6a806b
xor ecx, 0xf7ae59c6
add ecx, esi
mov esi, 0x5957f94
sub esi, edx
or esi, 0xf7ae59c6
lea edx, [ecx + esi]
add ecx, esi
add ecx, 0x41d86882
mov esi, ecx
not esi
and ecx, 0xf7ae59c6
lea ecx, [edx + ecx*2]
add ecx, 0x41d86882
add esi, esi
or esi, 0x10a34c72
add esi, ecx
imul ecx, esi, 0x6f8bf5ef
lea esi, [ecx + 0x40c77b35]
xor esi, 0xf24a5348
mov edx, 0xbf3884ca
sub edx, ecx
add edx, edx
or edx, 0x1b6b596e
sub esi, edx
mov dword [esi + 0x69ee17ec], eax
add esi, 0x69ee17f0
mov dword [esp + 0x18], esi
mov ecx, 0x1a94d7ba
mov eax, 0xe15a8580
mov edx, dword [esp + 4]
mov dword [esp + 0x14], edx
jmp 0x1004cec0
cmp ecx, 0x2684b521
jne 0x1004e8d5
mov ecx, dword [esp]
cmp ecx, 0xf7bab214
mov ecx, 0xfd0207bf
mov edx, 0x9d8b00ee
cmove ecx, edx
jmp 0x1004cec0
cmp ecx, 0xff6d85b1
jne 0x1004e8e3
cmp dword [esp + 0x2c], 0
mov eax, 0xf4960d5c
mov ecx, 0xe15a8580
cmove eax, ecx
mov ecx, 0x1a94d7ba
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xffffffff
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5a09c3a8
mov ecx, 0x93b361a
mov edx, 0x20547e4e
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x375515be
mov ecx, 0x2983e5d3
mov edx, 0x48785563
cmovl ecx, edx
jmp 0x1004cec0
push dword [esp + 0x28]
push dword [esp + 0x48]
call fcn.100563d1
add esp, 8
mov ecx, 0x1a94d7ba
mov eax, 0x7dac4169
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc0f50b7f
mov ecx, 0xfd0207bf
mov edx, 0xc9608811
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5129fced
mov ecx, 0xfd0207bf
mov edx, 0x92ec4d87
cmove ecx, edx
jmp 0x1004cec0
cmp byte [esp + 0x13], 0
mov eax, 0xcc8a6923
mov ecx, 0xc697e9aa
cmovne eax, ecx
mov ecx, 0x1a94d7ba
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x375515be
mov ecx, 0xfd0207bf
mov edx, 0xb7a3292b
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5d39139c
mov ecx, 0xe7b48f2
mov edx, 0x4cce8704
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xf4960d5c
mov ecx, 0x8b9c4999
mov edx, 0x71aac1e9
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, 0x19cda782
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x67d7efd1
mov ecx, 0xfd0207bf
mov edx, 0x68732152
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc697e9aa
mov ecx, 0xfd0207bf
mov edx, 0x2669e374
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x5a09c3a8
mov ecx, 0xfd0207bf
mov edx, 0x413d16a8
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x67d7efd1
mov ecx, 0x359b7cbc
mov edx, 0xb494abcb
cmovl ecx, edx
jmp 0x1004cec0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov edx, ecx
xor edx, 0xff1dcf25
add edx, ecx
xor ecx, 0xe230da
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x686c1922
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x686c1921
add edx, esi
add edx, 0x686c1922
and ecx, 0x9793e6de
add ecx, edx
xor eax, 0x686c1921
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0x239a9b4
mov eax, ecx
not eax
and eax, 0x4af446a1
lea eax, [eax + edx*2]
add eax, 0x4735368
or ecx, 0x4af446a1
sub eax, ecx
add eax, 0x955a3d2c
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jb 0x1004e105
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax - 0x5a2fdcf5]
mov edx, eax
neg edx
and edx, 2
add edx, eax
add edx, 0xa5d0230b
xor ecx, 0xfffffffd
add ecx, edx
mov edx, 0x5a2fdcf4
sub edx, eax
or edx, 2
sub ecx, edx
lea edi, [ecx + 0x5a2fdcf7]
mov ebx, edi
xor ebx, 0x4ed93941
add ebx, ecx
mov ecx, eax
or ecx, 1
mov edx, ecx
not edx
lea esi, [edx + ecx*2]
sub esi, ecx
lea ecx, [esi + edx]
add edx, esi
add edx, 2
not edx
lea edx, [edx + ecx*2]
add edx, 4
mov ecx, edi
or ecx, 0xb126c6be
add ecx, ebx
or edi, 0x4ed93941
sub ecx, edi
add ecx, 0x5a2fdcf7
mov esi, ecx
not esi
mov edi, edx
and edi, esi
mov ebx, ecx
sub ebx, edi
add ebx, edx
xor ecx, edx
add ecx, ebx
or esi, edx
lea ebx, [ecx + esi]
add esi, ecx
add esi, 1
mov dword [esp + 0x34], esi
mov edx, esi
not edx
mov ecx, edx
and ecx, 0xb126c6be
add ecx, ebx
add ecx, 1
and edx, 0x4ed93941
add edx, ecx
add esi, edx
mov ecx, 0xc661237a
sub ecx, esi
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xe72f7340
add ebx, ebx
and esi, 0x18d08cbf
sub ebx, esi
mov ebp, eax
xor ebp, 0x18d08cbf
mov esi, 0xe72f733f
sub esi, ebp
sub esi, ebx
lea edi, [ebx + ebp]
add edi, 0x18d08cc0
and eax, 0x18d08cbf
or eax, edi
xor eax, 0x18d08cbf
or edi, 0x18d08cbf
add edi, eax
or esi, 0x18d08cbf
lea ebx, [edi + esi]
add esi, edi
add esi, 0xe72f7342
mov edi, esi
and edi, 0xfffffffe
mov eax, esi
mov ebp, esi
not esi
or esi, 1
add esi, edi
or eax, 1
xor ebp, 0xfffffffe
add eax, ebp
sub eax, esi
lea esi, [ebx + ebx]
add esi, 0xce5ee684
xor esi, 2
lea ebx, [esi + ebp]
add ebx, 1
or ebx, eax
mov eax, ebx
neg eax
mov esi, dword [esp + 0x34]
add edx, esi
add edx, 0x399edc85
mov esi, ecx
and esi, eax
lea esi, [esi + esi*2]
mov edi, edx
sub edi, esi
sub edi, ebx
mov esi, edx
or esi, eax
add esi, edi
add ebx, 0xffffffff
or ebx, edx
add ebx, ebx
sub esi, ebx
or ecx, eax
add ecx, esi
and eax, edx
mov edx, eax
not edx
add edx, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0x153a5cbe
mov esi, edx
sub esi, ecx
xor edx, 0x153a5cbe
add edx, esi
or eax, 0x153a5cbe
add eax, edx
imul eax, eax, 0x39cae2db
lea ecx, [eax + 0x6483f565]
mov edx, ecx
and ecx, 0x2409faad
lea eax, [eax + ecx*2]
add eax, 0x6483f565
not edx
add edx, edx
or edx, 0xb7ec0aa4
add eax, edx
add eax, 0x5bf60553
imul ecx, eax, 0x53e7b6ad
add ecx, 0xa7cf6d5a
xor ecx, 0x3c1064e9
imul eax, eax, 0x583092a6
add eax, 0xb061254a
or eax, 0x7820c9d2
add eax, ecx
add eax, 0x87df3630
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x1000
mov eax, 0xbc0e845a
mov ecx, 0x311dbf35
cmovae eax, ecx
mov ecx, 0x1a94d7ba
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x311dbf35
mov ecx, 0x784a58c2
mov edx, 0x9fdeaa34
cmovl ecx, edx
jmp 0x1004cec0
mov eax, dword [esp + 0x1c]
shr eax, 1
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov edx, eax
not edx
lea edi, [eax + 0x5d0e843d]
mov ecx, edi
not ecx
mov esi, 0x22f17bc2
sub esi, eax
and esi, 0x5d0e843d
lea esi, [esi + esi*2]
or edi, 0x5d0e843d
add edi, eax
lea ebx, [eax + eax]
add ebx, 0xba1d087a
or ebx, 0x45e2f784
add ebx, esi
mov esi, 0xa2f17bc2
sub esi, eax
or esi, 0x5d0e843d
add esi, edi
sub esi, ebx
or ecx, 0xa2f17bc2
add ecx, esi
and edx, 0x598e1dd8
lea edx, [edx + edx*2]
lea ebx, [eax + eax]
mov edi, eax
sub eax, ebx
or ebx, 0x4ce3c44e
lea esi, [edx + ebx]
add edx, ebx
add edx, 2
and edi, 0xa671e227
or edi, edx
mov edx, edi
xor edx, 0xd98e1dd8
mov ebx, edi
xor ebx, 0x2671e227
add ebx, edx
add ebx, edi
add esi, esi
mov edx, 0xfffffffa
sub edx, esi
or edx, 0x4ce3c44e
lea esi, [ebx + edx]
add edx, ebx
add edx, 0xd98e1ddc
add esi, esi
add esi, 0xb31c3bb8
sub edx, esi
lea esi, [edx + ecx]
add ecx, edx
add ecx, 1
or ecx, 0xcfebbf6d
add ecx, esi
add ecx, 1
mov edx, 0xfffffffe
sub edx, esi
or edx, 0xcfebbf6d
add edx, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0x60288126
add ecx, ecx
add ecx, 0xc051024c
mov edx, eax
or edx, 0x30144092
sub edx, ecx
mov ecx, eax
xor ecx, 0xcfebbf6d
add ecx, edx
and eax, 0xcfebbf6d
add eax, ecx
mov ecx, 0xcfebbf6c
sub ecx, eax
cmp ecx, dword [esp + 0x1c]
mov eax, 0x59cc8383
mov ecx, 0x5d39139c
cmovb eax, ecx
mov ecx, 0x1a94d7ba
mov dword [esp + 4], 0x7fffffff
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xf4960d5c
mov ecx, 0xfd0207bf
mov edx, 0x780b6f2b
cmove ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xcc8a6923
mov ecx, 0x82a64218
mov edx, 0x51031c32
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x1c613b24
mov ecx, 0x859927d6
mov edx, 0x2684b521
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc0f50b7f
mov ecx, 0x94ba1986
mov edx, 0x546c7a7c
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0x7dac4169
mov ecx, 0x2a6582b3
mov edx, 0x413d218f
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xc8175824
mov ecx, 0x7393ef0
mov edx, 0x4272e47a
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xf7bab214
mov ecx, 0xa62e8a3a
mov edx, 0x6a5e1b19
cmovl ecx, edx
jmp 0x1004cec0
mov ecx, dword [esp]
cmp ecx, 0xbc0e845a
mov ecx, 0xfd0207bf
mov edx, 0xff6d85b1
cmove ecx, edx
jmp 0x1004cec0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
push dword [esp + 8]
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.1005c4f0
add esp, 0xc
mov eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov esi, dword [esp + 0x94]
push esi
push dword [esp + 0x94]
push eax
call fcn.1005c4f0
add esp, 0xc
mov edx, dword [esp + 8]
mov eax, edx
and eax, dword [esp + 0x6c]
add eax, edx
lea ecx, [esi + eax]
add ecx, 0xc3cdda35
add eax, esi
mov esi, ecx
and esi, 0xc3cdda35
lea eax, [eax + esi*2]
add eax, 0xc3cdda35
not ecx
lea esi, [eax + ecx*2]
add ecx, ecx
or ecx, 0x879bb46a
sub esi, ecx
mov eax, edx
not eax
lea eax, [eax + eax*2]
lea eax, [eax + edx*2]
add eax, esi
mov ecx, edx
mov ebx, dword [esp + 0x68]
xor ecx, ebx
mov esi, ecx
and esi, edx
mov edi, edx
and edi, ebx
add edi, edi
sub esi, edi
add esi, dword [esp + 0x64]
add esi, edx
not ecx
add ecx, esi
mov edx, ecx
not edx
mov esi, edx
and esi, 0x3c636544
mov edi, ecx
and edi, 0x3c636544
mov ebx, esi
sub ebx, edi
mov edi, ecx
xor edi, 0xc39c9abb
add edi, ebx
add edi, ecx
add esi, edi
add esi, 1
and ecx, 0xc39c9abb
mov edi, esi
xor edi, ecx
or ecx, esi
or edx, 0x3c636544
or esi, edx
add esi, edi
lea ecx, [edx + ecx*2]
sub ecx, esi
mov edx, ecx
and edx, 0x3c636544
mov esi, ecx
not esi
or esi, 0xc39c9abb
add esi, edx
xor ecx, 0xc39c9abb
add ecx, esi
not ecx
add ecx, eax
imul eax, ecx, 0xe0092ad5
lea ecx, [eax - 0x4acb0dda]
or ecx, 0x30c0e2f6
add ecx, eax
mov edx, 0x4acb0dd9
sub edx, eax
or edx, 0x30c0e2f6
add edx, ecx
imul ecx, edx, 0xfcccbe7d
add ecx, 0x21a72f0b
mov eax, ecx
or eax, 0x142c6e08
not ecx
or ecx, 0xebd391f7
sub eax, ecx
mov ecx, eax
xor ecx, 0x1cae4f21
add ecx, eax
xor eax, 0xe351b0de
add eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax + 0x881e119], 0
mov ebp, dword [esp + 0x1c]
mov esi, ebp
and esi, 1
lea eax, [esi + ebp]
mov ecx, ebp
xor ecx, 1
add eax, ecx
mov edx, ebp
add edx, ebp
or edx, 2
sub eax, edx
lea edx, [eax + 1]
mov edi, edx
not edi
mov ebx, edi
and ebx, 0x41a584ee
add eax, ebx
add eax, 1
xor edx, 0xbe5a7b11
add edx, eax
add edx, ebp
or edi, 0x41a584ee
sub edx, edi
mov eax, edx
not eax
and eax, 0x1b0d74ed
add eax, edx
or edx, 0xe4f28b12
lea edi, [eax + edx]
add edx, eax
add edx, 0xe4f28b15
mov eax, 0x3b0d74ea
sub eax, edi
and eax, 0x1b0d74ed
add eax, edi
add eax, 0xe4f28b15
xor edx, 0xe4f28b12
add edx, eax
mov eax, 0x1b0d74ea
sub eax, edi
or eax, 0x1b0d74ed
sub edx, eax
xor esi, 1
add esi, ebp
mov edi, ebp
xor edi, 0xfffffffe
lea eax, [edi + esi]
add eax, 1
mov esi, eax
not esi
and esi, ecx
or ecx, eax
or edi, eax
add edi, esi
mov ebx, edi
not ebx
add ebx, ecx
sub edi, ecx
mov ecx, edi
and ecx, 0xe88f07ee
mov esi, ecx
xor esi, 0xe88f07ee
add esi, ecx
add esi, edi
xor edi, 0x1770f811
add edi, esi
mov eax, ebp
not eax
not ecx
add ecx, edi
add ecx, 2
and ebx, 0x1770f811
or ebx, ecx
xor ebx, 0x1770f811
lea esi, [edx + ebx]
lea ecx, [edx + ebx]
add ecx, 0x1b0d74ed
mov edx, eax
and edx, 0x9d574ef3
and eax, 0x62a8b10c
add eax, ebp
xor ebp, 0x9d574ef3
lea edi, [eax + ebp]
add eax, ebp
add eax, 1
add edi, edx
add edi, 1
mov ebx, edx
or ebx, eax
not ebx
add ebx, edi
xor edx, eax
lea eax, [edx + ebx]
add eax, 1
mov edx, eax
xor edx, 0x62a8b10d
xor eax, 0x9d574ef2
add edx, eax
add eax, edx
add eax, 2
mov edx, ecx
and edx, 0x731ba9e5
mov edi, ecx
and edi, 0x8ce4561a
sub edi, edx
lea edx, [edi + esi]
add edx, 0x1b0d74ed
xor ecx, 0x8ce4561a
lea esi, [edx + ecx]
add ecx, edx
add ecx, 1
lea edx, [ecx + eax]
or ecx, eax
add edx, ecx
not ecx
lea ecx, [edx + ecx*2]
add ecx, eax
mov edx, 0xfffffffe
sub edx, esi
or edx, eax
sub ecx, edx
lea eax, [ecx + 1]
mov edx, eax
or edx, 0x731ba9e5
add ecx, edx
add ecx, 1
mov edx, eax
xor edx, 0x8ce4561a
add edx, ecx
or eax, 0x8ce4561a
sub edx, eax
imul eax, edx, 0xa271e763
imul ecx, edx, 0x44e3cec6
xor ecx, 0xf1b76a1d
mov edx, eax
or edx, 0xf8dbb50e
add edx, eax
sub ecx, edx
mov edx, eax
xor edx, 0x7244af1
add edx, ecx
and eax, 0xf8dbb50e
add eax, edx
imul eax, eax, 0xd6792db5
mov dword [esp + 0x28], eax
cmp eax, 0x1000
mov eax, 0xc8175824
mov ecx, 0x5a09c3a8
cmovae eax, ecx
mov ecx, 0x1a94d7ba
mov edx, dword [esp + 0x30]
mov dword [esp + 0x44], edx
jmp 0x1004cec0
mov dword [esp], eax
mov ecx, 0x9209ea37
jmp 0x1004cec0
push dword [esp + 0x2c]
call fcn.100563e4
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, 0x1a94d7ba
mov eax, 0xe15a8580
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
jmp 0x1004cec0
cmp ecx, 0xd861d35f
je 0x1004e8f4
jmp 0x1004cec0
cmp ecx, 0xc9608811
jne 0x1004cec0
jmp 0x1004e906
cmp ecx, 0x2669e374
jne 0x1004cec0
jmp 0x1004e90b
cmp ecx, 0x275f82d
jne 0x1004cec0
call fcn.1005838d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.100343e0
call fcn.1002d830