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

Disassembly:
sub edi, 0x309c
and edi, 0x18621
pop edi
push edx
push edi
add esp, 4
xor edx, 0x3ee4
add edx, 0xd7dc
sub edx, 0x10381
pop edx
cmp dword [ebp - 0x750], 0
jne 0x4056ac
push edx
push ebx
add esp, 4
sub edx, 0x16793
and edx, 0x15be6
and edx, 0x14ac4
or edx, 0x12c70
pop edx
push esi
sub esi, 0x166b5
add esi, 0x15ce2
and esi, 0x6e67
pop esi
mov dword [ebp - 0x79c], 0
jmp 0x4061d3
push ecx
push eax
add esp, 4
sub ecx, 0x14d45
sub ecx, 0xff36
add ecx, 0xfddc
and ecx, 0xc7cf
pop ecx
push ecx
push edx
add esp, 4
jmp 0x4056d7
xor ecx, 0x115e4
pop ecx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f0], edx
cmp dword [ebp - 0x15f0], 0
jne 0x40571d
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x405a0e
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x405745
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x405a0e
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x405777
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x405a0e
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x40579c
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x405a0e
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b4], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19bc], ecx
mov dword [ebp - 0x758], 0
jmp 0x4057f6
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x405a02
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b4]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19bc]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c0], eax
mov dword [ebp - 0x198], 0
jmp 0x405866
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x405918
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x405918
push ebx
push eax
add esp, 4
jmp 0x4058a0
sub ebx, 0x167fa
call 0x4058b5
add byte [esp + ecx*2 + 0x46], al
aaa
inc esi
xor edi, dword [edi]
cmp ecx, dword [esi - 0x7d]
les eax, [ebx + ebx*2]
push edx
push ebx
add esp, 4
add edx, 0xf3b5
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x40590a
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x405911
jmp 0x405857
jmp 0x405918
push edx
sub edx, 0x139ac
call 0x40592c
add byte [esi], bh
cmp edi, dword [esi]
aas
cmp eax, 0xc483413d
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [ecx + 0x38], al
inc ecx
xor bh, byte [0x39484f38]
add esp, 4
pop edx
push esi
sub esi, 0x1021f
pop esi
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x405977
mov dword [ebp - 0xca8], 0
jmp 0x4059e6
push esi
or esi, 0x3c3
pop esi
push ecx
add ecx, 0x9862
xor ecx, 0x1826b
pop ecx
push ebx
call 0x40599d
add byte [eax + 0x32], dl
xor al, 0x3b
cmp dh, byte [edi]
dec eax
cmp dword [ebx + eax*4], edi
les eax, [ebx + ebx*2]
push ecx
or ecx, 0xaa95
pop ecx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x4059dc
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x4059e6
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x4059fd
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x3f4], ecx
jmp 0x405a0e
jmp 0x4057e7
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x405ae9
push ecx
jmp 0x405a22
jmp 0x405a28
add ecx, 0x5539
pop ecx
push esi
push eax
add esp, 4
and esi, 0x6936
xor esi, 0x1574f
add esi, 0x1762c
add esi, 0x675f
pop esi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x19c4], eax
push edx
push eax
add esp, 4
add edx, 0xa113
sub edx, 0x4363
or edx, 0x5395
add edx, 0xed08
pop edx
push edx
sub edx, 0x3d4c
add edx, 0xad77
sub edx, 0x13226
pop edx
mov ecx, dword [ebp - 0x19c4]
mov dword [ebp - 0x19c8], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x19c8]
test eax, eax
jne 0x405ae9
push edx
push eax
add esp, 4
add edx, 0xc509
xor edx, 0x8c6f
pop edx
push ebx
and ebx, 0x11c19
pop ebx
push eax
sub eax, 0xc7b8
call 0x405ad6
add byte [eax + 0x36], al
dec eax
push eax
inc eax
inc edi
dec esp
add esp, 4
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x4061d3
push ecx
push edi
add esp, 4
or ecx, 0x16c77
pop ecx
push edx
call 0x405b06
add byte [eax + 0x36], cl
aaa
xor al, 0x35
xor eax, 0x43454732
add esp, 4
sub edx, 0x13c61
jmp 0x405b14
or edx, 0x45cd
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19d0], edx
mov eax, dword [ebp - 0x19d0]
mov dword [ebp - 0x15fc], eax
push ebx
push edi
add esp, 4
xor ebx, 0x153a
or ebx, 0x15068
pop ebx
push ebx
jmp 0x405b5e
and ebx, 0xfaf6
jmp 0x405b6d
add ebx, 0x158c7
pop ebx
cmp dword [ebp - 0x15fc], 0
jne 0x405b8c
mov dword [ebp - 0x31c], 0
jmp 0x405e33
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push esi
push esi
add esp, 4
add esi, 0x13903
pop esi
push eax
sub eax, 0x8da
pop eax
push eax
add eax, 0x9f66
call 0x405bc6
add byte [esi], dh
dec edx
cmp eax, dword [esi + 0x39]
dec ebx
xor eax, 0x8104c483
rol byte [ecx], 0xf5
add byte [eax], al
pop eax
cmp dword [ebp - 0xcb4], 0
jne 0x405be8
mov dword [ebp - 0x31c], 0
jmp 0x405e33
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push esi
push edx
add esp, 4
or esi, 0x83b5
call 0x405c0c
add byte [esi + 0x45], al
aaa
dec edi
cmp byte [ebp + ecx*2 - 0x7d], cl
les eax, [esi + ebx*2]
push esi
push esi
add esp, 4
call 0x405c22
add byte [eax + edi], dh
inc eax
cmp esi, dword [ebx]
dec ecx
cmp eax, 0x5e04c483
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
sub edx, 0x54fd
or edx, 0x11c86
and edx, 0x31fe
and edx, 0xd552
pop edx
push ebx
sub ebx, 0xd8ac
call 0x405c7e
add byte [ecx], bh
cmp byte [ecx + edi], bh
cmp byte [ebx + 0x3c], cl
add esp, 4
pop ebx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push eax
push esi
add esp, 4
call 0x405ced
add byte [edx + 0x44], al
cmp cl, byte [edi + 0x34]
cmp byte [edi + 0x44], cl
xor eax, dword [ebx + 0x515804c4]
sub ecx, 0x14c04
add ecx, 0xfbce
jmp 0x405d04
sub ecx, 0x11df
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x405d28
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x405d82
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405c50
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405c50
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x405d6c
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x405d76
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x405dcb
push edx
push esi
add esp, 4
sub edx, 0x1259a
call 0x405da2
add byte [edi + 0x4c], al
xor bh, byte [0xc4833a33]
add al, 0xe8
pop es
add byte [eax], al
add byte [eax], al
xor al, 0x34
dec eax
cmp eax, 0xc4834347
add al, 0x5a
push esi
xor esi, 0x78f6
pop esi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x405e33
push eax
push edx
add esp, 4
jmp 0x405dd7
add eax, 0x38e9
sub eax, 0x4d05
pop eax
push edi
push edx
add esp, 4
sub edi, 0x180af
or edi, 0x17627
jmp 0x405dfc
pop edi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x405e29
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x405bf4
mov dword [ebp - 0x31c], 0
push ebx
xor ebx, 0x1440e
xor ebx, 0xb5fe
xor ebx, 0xb3a5
pop ebx
push eax
push esi
add esp, 4
or eax, 0x367f
add eax, 0xb4ea
and eax, 0x6b71
and eax, 0xe6a8
pop eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push esi
push edi
add esp, 4
call 0x405e86
add byte [eax + 0x49], cl
dec ebx
xor cl, byte [edi + ecx*2 + 0x3b]
add esp, 4
call 0x405e97
add byte [eax + 0x4a], dl
dec ecx
inc edx
dec edi
cmp al, 0x48
dec ebx
add esp, 4
jmp 0x405e9f
add esi, 0x14c65
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x405ed6
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4061c7
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x405efe
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x4061c7
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x405f30
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x4061c7
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x405f55
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x4061c7
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19d8], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d60], ecx
mov dword [ebp - 0x768], 0
jmp 0x405faf
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x4061bb
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19d4]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19d8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d60]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19dc], eax
mov dword [ebp - 0x19c], 0
jmp 0x40601f
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x4060d1
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x4060d1
push esi
push ecx
add esp, 4
or esi, 0x447e
and esi, 0xeab2
pop esi
push edx
push edx
add esp, 4
and edx, 0x122c3
jmp 0x406071
and edx, 0x7949
add edx, 0x17f8d
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x4060c3
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x4060ca
jmp 0x406010
jmp 0x4060d1
push edx
or edx, 0xcea8
add edx, 0x13344
pop edx
push ecx
jmp 0x4060e8
and ecx, 0x178e1
pop ecx
push ebx
push ebx
add esp, 4
and ebx, 0x30fc
pop ebx
push edi
add edi, 0x139d9
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x406130
mov dword [ebp - 0xcb8], 0
jmp 0x40619f
push edx
push ecx
add esp, 4
jmp 0x40613d
add edx, 0xac06
pop edx
push edi
push ecx
add esp, 4
add edi, 0x1222e
pop edi
push eax
push edi
add esp, 4
and eax, 0xb370
xor eax, 0x90fa
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x406195
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x40619f
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x4061b6
mov ecx, dword [ebp - 0x19dc]
mov dword [ebp - 0x510], ecx
jmp 0x4061c7
jmp 0x405fa0
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push eax
jmp 0x4061da
pop eax
push eax
push ecx
add esp, 4
jmp 0x4061e5
and eax, 0x74c6
sub eax, 0x6d5
pop eax
push eax
push esi
add esp, 4
jmp 0x4061fc
pop eax
push esi
xor esi, 0x9da5
pop esi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a2c], ecx
push esi
and esi, 0xeb17
and esi, 0x9d46
sub esi, 0xe2ba
pop esi
push eax
push edi
add esp, 4
and eax, 0x17b81
or eax, 0x68c5
add eax, 0xd155
add eax, 0xae4d
pop eax
cmp dword [ebp - 0x3e8], 0
je 0x406258
cmp dword [ebp - 0xab8], 0
jne 0x40629e
push edi
or edi, 0x12243
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x11eb3
add ebx, 0x12d7d
pop ebx
push edi
push esi
add esp, 4
add edi, 0x89cc
pop edi
push eax
push ecx
add esp, 4
add eax, 0x176b
pop eax
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e0], edx
push 0
call dword [ebp - 0x19e0]
mov dword [ebp - 0x20f8], 0xa
push eax
push edx
add esp, 4
add eax, 0x12e47
pop eax
push ebx
push ebx
add esp, 4
xor ebx, 0xdaf7
sub ebx, 0x107fa
or ebx, 0x119d9
sub ebx, 0xa0d5
pop ebx
push edi
xor edi, 0x12597
pop edi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push edi
push edx
add esp, 4
or edi, 0x12917
or edi, 0x4357
xor edi, 0x11675
pop edi
push ebx
add ebx, 0x8e20
or ebx, 0xd879
or ebx, 0x12720
or ebx, 0x2b3e
pop ebx
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push ebx
call 0x4063af
add byte [ebp + 0x43], cl
inc esi
inc esi
dec edi
dec esp
xor bh, byte [edi]
add esp, 4
add ebx, 0x68c
jmp 0x4063bf
pop ebx
push edx
push edi
add esp, 4
xor edx, 0xb56f
sub edx, 0x11692
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e4], eax
mov ecx, dword [ebp - 0x19e4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e8], edx
mov eax, dword [ebp - 0x19e8]
mov dword [ebp - 0x1614], eax
push ebx
add ebx, 0x10471
and ebx, 0x156eb
and ebx, 0x15ece
pop ebx
push eax
add eax, 0x1763e
call 0x406421
add byte [edi], dh
dec edi
cmp al, 0x36
dec esi
inc esi
dec edi
add esp, 4
and eax, 0x1760e
pop eax
cmp dword [ebp - 0x1614], 0
jne 0x406443
mov dword [ebp - 0x2fc], 0
jmp 0x4066ea
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push edx
xor edx, 0x13eb5
xor edx, 0x137ec
or edx, 0x23ba
pop edx
push edi
add edi, 0xea74
or edi, 0x51cd
pop edi
push esi
or esi, 0x1702e
pop esi
push esi
xor esi, 0x16df
pop esi
cmp dword [ebp - 0xcc4], 0
jne 0x40649f
mov dword [ebp - 0x2fc], 0
jmp 0x4066ea
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push eax
sub eax, 0x9f56
xor eax, 0x7603
or eax, 0x11e75
and eax, 0x10c80
pop eax
push ecx
push ebx
add esp, 4
call 0x4064d9
add byte [ebx + 0x38], cl
inc edi
dec ebp
inc esp
cmp dword ds:[eax], edi
dec edx
add esp, 4
pop ecx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
xor edi, 0x12386
xor edi, 0xdead
sub edi, 0x8559
xor edi, 0x10ee
pop edi
push ebx
push ecx
add esp, 4
or ebx, 0x78a0
sub ebx, 0xaed5
sub ebx, 0x10bc2
pop ebx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push eax
add eax, 0x168ac
xor eax, 0xaa65
jmp 0x4065a3
pop eax
push ecx
push ecx
add esp, 4
xor ecx, 0xfbf4
sub ecx, 0x146a8
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0x3db3
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4065df
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x406639
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x406507
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x406507
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x406623
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x40662d
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x406682
push esi
push ecx
add esp, 4
add esi, 0x125fb
jmp 0x406655
pop esi
push ebx
push edi
add esp, 4
and ebx, 0x95d0
jmp 0x406666
jmp 0x40666d
xor ebx, 0x232
pop ebx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4066ea
push ebx
push ebx
add esp, 4
jmp 0x40668c
jmp 0x406692
call 0x40669e
add byte [ebp + 0x44], cl
xor al, 0x3b
dec edx
add esp, 4
or ebx, 0xab6f
pop ebx
push esi
push edi
add esp, 4
xor esi, 0x77a3
pop esi
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x4066e0
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x4064ab
mov dword [ebp - 0x2fc], 0
push edx
add edx, 0x1137
or edx, 0x13411
add edx, 0xc3e3
xor edx, 0xddb2
pop edx
push eax
push eax
add esp, 4
or eax, 0x3143
and eax, 0x181b6
jmp 0x40671b
pop eax
cmp dword [ebp - 0x2fc], 0
jne 0x407021
mov eax, 0x6b
mov word [ebp - 0x1770], ax
mov ecx, 0x65
mov word [ebp - 0x176e], cx
mov edx, 0x72
mov word [ebp - 0x176c], dx
mov eax, 0x6e
mov word [ebp - 0x176a], ax
mov ecx, 0x65
mov word [ebp - 0x1768], cx
mov edx, 0x6c
mov word [ebp - 0x1766], dx
mov eax, 0x33
mov word [ebp - 0x1764], ax
mov ecx, 0x32
mov word [ebp - 0x1762], cx
mov edx, 0x2e
mov word [ebp - 0x1760], dx
mov eax, 0x64
mov word [ebp - 0x175e], ax
mov ecx, 0x6c
mov word [ebp - 0x175c], cx
mov edx, 0x6c
mov word [ebp - 0x175a], dx
xor eax, eax
mov word [ebp - 0x1758], ax
push ebx
or ebx, 0x17737
sub ebx, 0x14fff
jmp 0x4067d8
pop ebx
push ecx
jmp 0x4067e1
and ecx, 0x1e65
add ecx, 0x2626
add ecx, 0x40be
pop ecx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19ec], ecx
mov edx, dword [ebp - 0x19ec]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f0], eax
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x1620], ecx
push ebx
call 0x406885
add byte [eax], bh
dec esp
inc ebp
cmp eax, 0x834f3837
les eax, [ebx + ebx*2]
push ebx
add ebx, 0x9854
pop ebx
push edi
push esi
add esp, 4
xor edi, 0xec0c
xor edi, 0x15cfd
add edi, 0x8dff
pop edi
cmp dword [ebp - 0x1620], 0
jne 0x4068c1
mov dword [ebp - 0x774], 0
jmp 0x406b68
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push eax
push eax
add esp, 4
or eax, 0x13393
add eax, 0xa5ed
and eax, 0x7140
or eax, 0x11740
pop eax
push ebx
sub ebx, 0xc675
pop ebx
push esi
push ecx
add esp, 4
sub esi, 0xf601
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x40691d
mov dword [ebp - 0x774], 0
jmp 0x406b68
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push ecx
push edi
add esp, 4
sub ecx, 0x10b81
pop ecx
push edx
add edx, 0x133fa
pop edx
push edi
jmp 0x406945
and edi, 0x7b2e
or edi, 0xf64b
jmp 0x40695a
pop edi
lea eax, [ebp - 0x1770]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ebx
push edi
add esp, 4
and ebx, 0x12592
or ebx, 0xd584
or ebx, 0x4261
and ebx, 0x17232
pop ebx
push edx
push edx
add esp, 4
sub edx, 0x7b24
pop edx
push ecx
and ecx, 0x8e5a
pop ecx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push ebx
push ebx
add esp, 4
sub ebx, 0x97a
call 0x406a25
add byte [eax], bh
dec ebp
xor al, 0x34
dec edx
dec ebx
add esp, 4
or ebx, 0x17472
jmp 0x406a33
pop ebx
push edi
push ecx
add esp, 4
sub edi, 0x11c34
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406a5d
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x406ab7
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406985
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406985
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406aa1
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x406aab
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x406b00
push esi
push eax
add esp, 4
call 0x406ad1
add byte [ebp + eax*2 + 0x36], cl
inc ebp
inc ebx
push eax
add esp, 4
call 0x406ae2
add byte [esp + ecx*2 + 0x40], al
dec edx
inc edi
cmp ecx, dword [edx - 0x7d]
les eax, [ecx + eax*4]
invalid
push eax
push edx
add esp, 4
and eax, 0xc196
sub eax, 0xd13
jmp 0x406b19
xor eax, 0x83b2
pop eax
push esi
push ecx
add esp, 4
or esi, 0x4bfd
add esi, 0x5555
pop esi
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x406b5e
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x406929
mov dword [ebp - 0x774], 0
push esi
push edi
add esp, 4
sub esi, 0xf96b
pop esi
push ebx
sub ebx, 0xfee9
pop ebx
push edx
or edx, 0x12002
and edx, 0x8d5a
call 0x406b96
add byte [ecx + 0x4e], al
inc edi
dec ebx
dec ebx
dec ebp
inc ebx
add esp, 4
pop edx
cmp dword [ebp - 0x774], 0
jne 0x406be4
push ecx
call 0x406bb3
add byte [0x4d4c4f4a], dh
inc esp
inc ecx
inc ecx
add esp, 4
jmp 0x406bbc
add ecx, 0x1216b
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0x1382
sub ebx, 0x124a9
pop ebx
mov dword [ebp - 0xab4], 0
jmp 0x40770c
push eax
xor eax, 0x16e8f
xor eax, 0x14363
pop eax
push ebx
push ebx
add esp, 4
add ebx, 0xb948
sub ebx, 0x2158
pop ebx
push edi
push eax
add esp, 4
add edi, 0x118d0
or edi, 0x6c28
pop edi
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x406c55
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x406f46
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x406c7d
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x406f46
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x406caf
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x406f46
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x406cd4
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x406f46
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19fc], edx
mov dword [ebp - 0x77c], 0
jmp 0x406d2e
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x406f3a
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a00], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x406d9e
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x406e50
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x406e50
push esi
push ebx
add esp, 4
add esi, 0x16914
jmp 0x406ddc
add esi, 0x12e32
sub esi, 0x1340c
pop esi
push ebx
xor ebx, 0x12716
xor ebx, 0x779a
add ebx, 0x120bd
pop ebx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x406e42
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x406e49
jmp 0x406d8f
jmp 0x406e50
push ecx
push edi
add esp, 4
call 0x406e65
add byte [edi], bh
cmp bh, byte ds:[edx]
aaa
cmp eax, 0x4b493a37
add esp, 4
call 0x406e78
add byte [eax + 0x4d], dl
inc esp
inc esi
inc edi
inc eax
inc eax
aaa
xor ecx, dword [edi - 0x7d]
les eax, [ecx + eax*4]
int1
in al, dx
sbb byte [eax], al
add byte [ecx - 0x75], bl
test dword [eax + 0x3fffff8], eax
test dword [eax - 2], esp
invalid
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x407021
push edi
push eax
add esp, 4
sub edi, 0xbb0d
pop edi
push edx
jmp 0x406f69
call 0x406f75
add byte [edi], dh
push eax
cmp eax, dword [ebp + 0x47]
add esp, 4
and edx, 0x13db6
xor edx, 0x1584
pop edx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a04], ecx
push esi
push edx
add esp, 4
or esi, 0xb44a
and esi, 0x16f6d
xor esi, 0x5d71
pop esi
push ebx
or ebx, 0x698d
or ebx, 0x12253
pop ebx
push esi
push esi
add esp, 4
jmp 0x406fc2
pop esi
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x1a08]
test eax, eax
jne 0x407021
push esi
push ebx
add esp, 4
sub esi, 0x7900
pop esi
push edx
xor edx, 0x1499f
sub edx, 0xba59
and edx, 0x12dd8
add edx, 0x35da
pop edx
push esi
push eax
add esp, 4
add esi, 0x4cb1
pop esi
mov dword [ebp - 0xab4], 0
jmp 0x40770c
push eax
xor eax, 0x6d7d
call 0x407037
add byte [esi], dh
dec ebp
cmp al, 0x4e
inc edx
cmp esi, dword [esi + 0x4c48340]
sub eax, 0x14ab9
and eax, 0x12650
pop eax
push esi
push edx
add esp, 4
and esi, 0x13b8c
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a0c], ecx
mov edx, dword [ebp - 0x1a0c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a10], eax
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x167c], ecx
push ebx
and ebx, 0xfef6
and ebx, 0x15fb7
and ebx, 0x14e20
pop ebx
push eax
push esi
add esp, 4
and eax, 0x146f6
xor eax, 0x1812b
xor eax, 0x16bc
xor eax, 0xae2c
pop eax
cmp dword [ebp - 0x167c], 0
jne 0x4070c5
mov dword [ebp - 0x2fc], 0
jmp 0x40736c
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push esi
push edi
add esp, 4
add esi, 0x5f11
jmp 0x4070eb
add esi, 0x11aaf
call 0x4070fd
add byte [ebp + 0x4f], cl
push eax
cmp eax, 0xc4833947
add al, 0x5e
push ebx
sub ebx, 0x111d7
pop ebx
cmp dword [ebp - 0xce0], 0
jne 0x407121
mov dword [ebp - 0x2fc], 0
jmp 0x40736c
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push eax
push ebx
add esp, 4
sub eax, 0xace9
or eax, 0x13a71
pop eax
push ebx
push ebx
add esp, 4
xor ebx, 0x8b46
or ebx, 0x10a4d
xor ebx, 0x16242
pop ebx
push edx
jmp 0x40715e
pop edx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push esi
add esp, 4
and esi, 0x8f4c
sub esi, 0xcdc3
pop esi
push esi
push edx
add esp, 4
add esi, 0xe43e
sub esi, 0x94a9
and esi, 0x163ec
pop esi
push edi
add edi, 0xfec1
pop edi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push esi
push edi
add esp, 4
sub esi, 0x12d5b
call 0x40722b
add byte [ebp + 0x35], cl
dec ebp
inc edi
inc edx
dec edx
dec ebp
inc edx
add esp, 4
pop esi
push ebx
call 0x407240
add byte [ecx], bh
inc edi
cmp cl, byte [esi + 0x33]
cmp eax, dword [edx + 0x4c]
dec ecx
inc ebx
add esp, 4
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407261
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x4072bb
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407189
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407189
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4072a5
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x4072af
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x407304
push edi
or edi, 0xab7e
sub edi, 0x14959
sub edi, 0x13414
pop edi
push edx
push edi
add esp, 4
xor edx, 0x2fe4
or edx, 0x92a6
add edx, 0x4f5d
sub edx, 0x108c4
pop edx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x40736c
invalid
push edx
push eax
add esp, 4
xor edx, 0x17395
or edx, 0x587f
and edx, 0x768f
pop edx
push edi
push esi
xor esi, 0x17b76
xor esi, 0x12002
xor esi, 0x139c5
jmp 0x407385
pop esi
push ebx
push edi
add esp, 4
or ebx, 0x16277
xor ebx, 0x3105
sub ebx, 0xa34a
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edx
push edx
add esp, 4
or edx, 0xca4a
add edx, 0x1612e
sub edx, 0x21b5
pop edx
push edi
or edi, 0xe372
sub edi, 0x6b46
jmp 0x4073d8
add edi, 0x15191
pop edi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x40740f
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407700
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x407437
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407700
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x407469
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x407700
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x40748e
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x407700
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a14], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a18], eax
mov ecx, dword [ebp - 0x788]