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

Disassembly:
add esp, 4
pop ecx
push ebx
push ecx
add esp, 4
and ebx, 0x12002
sub ebx, 0x1573f
xor ebx, 0x51b4
pop ebx
cmp dword [ebp - 0x15ec], 0
jne 0x405703
mov dword [ebp - 0x754], 0
jmp 0x4059bf
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push esi
sub esi, 0x16c52
add esi, 0xba4f
sub esi, 0xc42e
pop esi
push ebx
xor ebx, 0xface
jmp 0x405735
call 0x405743
add byte [esi], dh
inc edi
inc esi
inc edx
inc edi
dec ebp
cmp byte [esi - 0x7d], al
les eax, [ebx + ebx*2]
cmp dword [ebp - 0xca8], 0
jne 0x40575f
mov dword [ebp - 0x754], 0
jmp 0x4059bf
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push edx
push ebx
add esp, 4
add edx, 0x7ea1
pop edx
push ebx
push edi
add esp, 4
and ebx, 0x33a7
sub ebx, 0xd6ba
pop ebx
push ecx
and ecx, 0x17be
and ecx, 0xa341
and ecx, 0x4d09
pop ecx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push eax
push edx
add esp, 4
and eax, 0x9949
and eax, 0xaf59
add eax, 0x987d
pop eax
push edx
or edx, 0x1ffe
and edx, 0x8475
xor edx, 0x12146
add edx, 0xdc4b
pop edx
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push edi
xor edi, 0x6b75
call 0x40586c
add byte [ebx + 0x3e], cl
xor al, byte [ecx + 0x49]
inc esi
dec esi
xor eax, 0x4c48346
xor edi, 0xe260
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0xd177
or ebx, 0x97c4
pop ebx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4058ab
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x40590e
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x4057ca
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x4057ca
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x4058f8
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x405902
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x405957
push ebx
push edi
add esp, 4
xor ebx, 0xcdf7
xor ebx, 0x9a35
or ebx, 0x4684
pop ebx
push esi
xor esi, 0x371f
pop esi
push edi
push edx
add esp, 4
and edi, 0x14137
jmp 0x405948
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x4059bf
push edx
push edi
add esp, 4
add edx, 0x4c45
pop edx
push esi
push esi
add esp, 4
jmp 0x40596e
xor esi, 0x139ea
pop esi
push ecx
add ecx, 0x712d
and ecx, 0x12f33
sub ecx, 0x14eac
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x4059b5
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40576b
mov dword [ebp - 0x754], 0
push ebx
push esi
add esp, 4
call 0x4059d1
add byte [edi], bh
dec ecx
xor cl, byte [edx + 0x38]
aas
add esp, 4
add ebx, 0xc4b3
call 0x4059e7
add byte [edi], bh
push eax
xor al, 0x4c
xor al, 0x3a
cmp eax, dword [ebx - 0x347efb3c]
sub al, 0x19
add dword [eax], eax
pop ebx
cmp dword [ebp - 0x754], 0
jne 0x405a3b
push ecx
add ecx, 0xd18f
call 0x405a0d
add byte [edi + esi + 0x37], al
dec edx
inc eax
inc esi
add esp, 4
sub ecx, 0xa372
pop ecx
push ebx
push eax
add esp, 4
call 0x405a28
add byte [edx + 0x49], al
inc eax
push eax
inc esi
cmp dword [ebx - 0x38a4fb3c], eax
test dword [eax - 8], esp
invalid
push eax
push esi
add esp, 4
xor eax, 0xf28c
call 0x405a52
add byte [0x413f413e], bh
dec ebx
add esp, 4
jmp 0x405a5a
add eax, 0x6e40
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x10575
pop ecx
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x405aac
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x405d9d
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x405ad4
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x405d9d
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x405b06
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x405d9d
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x405b2b
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x405d9d
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x75c], 0
jmp 0x405b85
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x405d91
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x194], 0
jmp 0x405bf5
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x405ca7
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x405ca7
push ecx
push edi
add esp, 4
xor ecx, 0x107e5
pop ecx
push esi
call 0x405c3e
add byte [edi + 0x50], cl
inc ecx
xor eax, 0x3f354f37
xor eax, dword [ebx - 0x397efb3c]
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
and esi, 0x13ee8
add esi, 0x2d64
pop esi
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x405c99
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x405ca0
jmp 0x405be6
jmp 0x405ca7
push ecx
call 0x405cb4
add byte [edx + 0x4b], al
cmp byte [edx + 0x44], cl
inc edi
add esp, 4
pop ecx
push eax
xor eax, 0x13db7
or eax, 0xf7cd
sub eax, 0x13f24
jmp 0x405cd1
pop eax
push edi
jmp 0x405cd8
pop edi
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x405d06
mov dword [ebp - 0xcac], 0
jmp 0x405d75
push eax
push ebx
add esp, 4
and eax, 0x11805
or eax, 0xaca6
xor eax, 0x5f5c
pop eax
push edx
xor edx, 0x97e
call 0x405d34
add byte [edx + 0x4f], al
inc edi
inc edx
xor al, 0x4b
dec ebx
inc esi
push eax
add esp, 4
pop edx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x405d6b
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x405d75
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x405d8c
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x405d9d
jmp 0x405b76
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x405e78
push eax
push ecx
add esp, 4
xor eax, 0x165eb
sub eax, 0xa082
call 0x405dca
add byte [ecx + 0x41], cl
dec ebp
xor ecx, dword [edx + 0x47]
aaa
dec ecx
inc ecx
add esp, 4
pop eax
push eax
xor eax, 0xe66b
sub eax, 0x12c0c
pop eax
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x19a8], eax
push edx
push ecx
add esp, 4
xor edx, 0x97e4
pop edx
push edi
push eax
add esp, 4
jmp 0x405dff
sub edi, 0x10f4b
and edi, 0x175f8
and edi, 0x121a9
pop edi
push edi
sub edi, 0x126b8
pop edi
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1740]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x405e78
push esi
or esi, 0xc7b1
xor esi, 0xf35f
add esi, 0xbb52
pop esi
push edx
push edi
add esp, 4
sub edx, 0xf352
or edx, 0x6382
or edx, 0x822b
and edx, 0x83aa
pop edx
mov dword [ebp - 0x7a0], 0
jmp 0x406562
push ecx
jmp 0x405e82
pop ecx
push ebx
push eax
add esp, 4
call 0x405e94
add byte [ebp + eax*2 + 0x41], al
inc ecx
inc eax
cmp al, 0x83
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [edi], bh
dec esp
cmp al, 0x43
inc edx
xor eax, 0xc483384c
add al, 0x5b
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19b0], eax
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x1604], eax
push eax
xor eax, 0x1698a
xor eax, 0x8b33
or eax, 0x4b5e
xor eax, 0x182bd
pop eax
push edi
push ecx
add esp, 4
or edi, 0x8db1
sub edi, 0x103db
add edi, 0x286b
pop edi
cmp dword [ebp - 0x1604], 0
jne 0x405f1b
mov dword [ebp - 0x2d4], 0
jmp 0x4061c2
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push edi
and edi, 0x7db
jmp 0x405f3a
sub edi, 0x4406
and edi, 0x41d
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x15a91
or ebx, 0x174fe
sub ebx, 0x66ae
pop ebx
cmp dword [ebp - 0xcb8], 0
jne 0x405f77
mov dword [ebp - 0x2d4], 0
jmp 0x4061c2
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push edi
push ecx
add esp, 4
xor edi, 0x6039
call 0x405f9e
add byte [edi + 0x50], cl
xor cl, byte [edx + 0x44]
dec edx
aaa
inc esi
inc ebx
inc edx
add esp, 4
call 0x405fb1
add byte [ebp + 0x37], cl
xor eax, 0x3b3e3834
cmp cl, byte ds:[ebx - 0x7d]
les eax, [edi + ebx*2]
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
sub ebx, 0x4e1e
pop ebx
push edx
and edx, 0xdd0f
call 0x405ffb
add byte [ecx + 0x4f], al
dec ebx
cmp al, 0x35
push eax
add esp, 4
add edx, 0xb286
pop edx
push eax
push ecx
add esp, 4
add eax, 0xd07d
pop eax
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push edx
jmp 0x406072
jmp 0x40607a
pop edx
push ebx
xor ebx, 0xd4c2
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0x10f6a
or ebx, 0xb192
jmp 0x406099
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4060b7
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x406111
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405fdf
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405fdf
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4060fb
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x406105
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x40615a
push ecx
push esi
add esp, 4
xor ecx, 0xc2a7
add ecx, 0x10817
and ecx, 0xa93c
pop ecx
push ebx
xor ebx, 0x112e8
call 0x406148
add byte [esi], dh
aas
xor al, 0x34
inc ebx
xor eax, 0x83494449
les eax, [ebx + ebx*2]
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x4061c2
push ecx
push edi
add esp, 4
add ecx, 0x14001
sub ecx, 0xdda6
jmp 0x406172
xor ecx, 0x12170
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x8bb7
jmp 0x40618b
pop edx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x4061b8
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x405f83
mov dword [ebp - 0x2d4], 0
push edx
push esi
add esp, 4
and edx, 0x93d3
sub edx, 0xfba0
pop edx
push esi
push esi
add esp, 4
jmp 0x4061e2
sub esi, 0x14e03
add esi, 0x118f
jmp 0x4061f3
pop esi
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
push eax
add esp, 4
and edx, 0x1006a
pop edx
push ebx
add ebx, 0xfa0b
pop ebx
push esi
push ebx
add esp, 4
add esi, 0x40ed
add esi, 0x143ee
and esi, 0x15193
add esi, 0xddd2
pop esi
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x406265
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x406556
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x40628d
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x406556
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x4062bf
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x406556
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x4062e4
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x406556
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x76c], 0
jmp 0x40633e
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x40654a
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d48], eax
mov dword [ebp - 0x198], 0
jmp 0x4063ae
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x406460
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x406460
push ecx
sub ecx, 0xbe64
and ecx, 0x15b9b
or ecx, 0x1701
pop ecx
push ecx
sub ecx, 0xf3ed
or ecx, 0xf252
call 0x406409
add byte [edi + eax*2], dh
dec esp
dec eax
dec esi
inc edx
cmp byte [ebx - 0x74a6fb3c], al
test dword [eax + 0x3fffff8], edx
test dword [eax - 2], ebp
invalid
push ecx
jmp 0x406466
sub ecx, 0xe4fe
call 0x40647c
add byte [edx + 0x48], cl
dec eax
inc ebx
inc esi
dec edi
cmp bh, byte [esi + edi]
inc ebx
add esp, 4
pop ecx
push edi
push ecx
add esp, 4
xor edi, 0xfb5
sub edi, 0x3a91
pop edi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x4064bf
mov dword [ebp - 0xcbc], 0
jmp 0x40652e
push edx
push eax
add esp, 4
sub edx, 0xe8c4
pop edx
push edx
push eax
add esp, 4
call 0x4064df
add byte [0x494e4b36], bh
cmp byte [edi + 0x3e], cl
xor eax, dword [ebx + 0x515a04c4]
or ecx, 0x537c
xor ecx, 0xde5a
pop ecx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x406524
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x40652e
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x406545
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x514], ecx
jmp 0x406556
jmp 0x40632f
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push edx
xor edx, 0x6f5b
call 0x406578
add byte [eax + 0x47], dl
cmp dword [esp + esi], edi
aaa
inc esp
dec ecx
dec edx
add esp, 4
add edx, 0x16b5c
pop edx
push ecx
push ecx
add esp, 4
add ecx, 0xef62
add ecx, 0x65ee
pop ecx
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x1a10], ecx
push esi
or esi, 0xf5c2
sub esi, 0x11d46
xor esi, 0x8e1b
pop esi
push edi
push eax
add esp, 4
or edi, 0x17e01
and edi, 0xceb6
and edi, 0x28bf
add edi, 0xf3c1
pop edi
cmp dword [ebp - 0x3e4], 0
je 0x4065e7
cmp dword [ebp - 0xac4], 0
jne 0x40662d
push ebx
push esi
add esp, 4
add ebx, 0x1afd
add ebx, 0x180f3
add ebx, 0xdb8e
pop ebx
push edi
push edi
add esp, 4
add edi, 0x6a59
pop edi
push ecx
or ecx, 0xfbbe
xor ecx, 0x720a
pop ecx
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x19c4], edx
push 0
call dword [ebp - 0x19c4]
mov dword [ebp - 0x20dc], 0xa
push ecx
push esi
add esp, 4
xor ecx, 0x12aaf
or ecx, 0x2150
xor ecx, 0x180d4
pop ecx
push eax
sub eax, 0x16b4d
xor eax, 0x31ab
sub eax, 0x1449e
or eax, 0xd209
pop eax
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push esi
push ebx
add esp, 4
and esi, 0xc3b1
sub esi, 0x17a77
add esi, 0x2ae4
add esi, 0x17f7d
pop esi
push ecx
push eax
add esp, 4
or ecx, 0x5c2b
pop ecx
push edi
and edi, 0x47a1
pop edi
mov byte [ebp - 0x9d8], 0x56
mov byte [ebp - 0x9d7], 0x69
mov byte [ebp - 0x9d6], 0x72
mov byte [ebp - 0x9d5], 0x74
mov byte [ebp - 0x9d4], 0x75
mov byte [ebp - 0x9d3], 0x61
mov byte [ebp - 0x9d2], 0x6c
mov byte [ebp - 0x9d1], 0x50
mov byte [ebp - 0x9d0], 0x72
mov byte [ebp - 0x9cf], 0x6f
mov byte [ebp - 0x9ce], 0x74
mov byte [ebp - 0x9cd], 0x65
mov byte [ebp - 0x9cc], 0x63
mov byte [ebp - 0x9cb], 0x74
mov byte [ebp - 0x9ca], 0
push edx
push ecx
add esp, 4
and edx, 0x10660
pop edx
push edi
sub edi, 0xd44e
add edi, 0x9091
sub edi, 0x6f80
pop edi
push esi
push eax
add esp, 4
jmp 0x40675a
jmp 0x406760
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x19c8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x19cc]
mov dword [ebp - 0x161c], eax
push esi
push edi
add esp, 4
jmp 0x406795
add esi, 0x81ce
call 0x4067a8
add byte [eax + 0x44], al
inc edi
aas
dec ebp
cmp byte [ebx - 0x7d], cl
les eax, [esi + ebx*2]
push edx
xor edx, 0xe07f
sub edx, 0x5e3f
pop edx
cmp dword [ebp - 0x161c], 0
jne 0x4067d2
mov dword [ebp - 0x2f4], 0
jmp 0x406a79
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc8], eax
push esi
push edx
add esp, 4
sub esi, 0x11e6c
add esi, 0x13e30
pop esi
push edi
sub edi, 0x14554
or edi, 0x15643
pop edi
push esi
push eax
add esp, 4
sub esi, 0x312e
sub esi, 0xa528
pop esi
cmp dword [ebp - 0xcc8], 0
jne 0x40682e
mov dword [ebp - 0x2f4], 0
jmp 0x406a79
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0x518], ecx
push eax
push edi
add esp, 4
add eax, 0x541d
add eax, 0x534d
pop eax
push eax
push esi
add esp, 4
jmp 0x406859
add eax, 0x516f
add eax, 0xea4
and eax, 0x1070
pop eax
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc0], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
push ebx
add esp, 4
sub eax, 0x9deb
sub eax, 0xa794
or eax, 0x8558
pop eax
push esi
push edi
add esp, 4
and esi, 0xb3
or esi, 0xc55f
pop esi
push ebx
xor ebx, 0x6a3f
pop ebx
mov ecx, dword [ebp - 0xcc0]
mov dx, word [ecx]
mov word [ebp - 0x1042], dx
mov eax, dword [ebp - 0xcc0]
add eax, 2
mov dword [ebp - 0xcc0], eax
mov cx, word [ebp - 0x1042]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc4]
mov ax, word [edx]
mov word [ebp - 0x1044], ax
mov ecx, dword [ebp - 0xcc4]
add ecx, 2
mov dword [ebp - 0xcc4], ecx
mov dx, word [ebp - 0x1044]
mov word [ebp - 0x38], dx
push edx
push ecx
add esp, 4
call 0x406934
add byte [edx], dh
inc ecx
push eax
dec eax
inc eax
inc eax
inc eax
inc eax
xor al, byte [ebx + 0x575a04c4]
call 0x406947
add byte [edi + edi + 0x48], al
dec ebp
cmp cl, byte [ebx + 0x4a]
cmp byte [ebx - 0x187efb3c], al
mul edx
add byte [eax], al
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40696e
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x4069c8
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x406896
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x406896
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4069b2
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x4069bc
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x406a11
push ecx
push esi
add esp, 4
call 0x4069e6
add byte [edi], dh
xor al, 0x4f
cmp ecx, dword [eax + 0x4d]
dec ebx
aas
push eax
dec ebp
add esp, 4
pop ecx
push ebx
push eax
add esp, 4
sub ebx, 0x276c
and ebx, 0x95c1
jmp 0x406a02
pop ebx
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x2f4], ecx
jmp 0x406a79
push edx
push esi
add esp, 4
xor edx, 0xc087
or edx, 0x12cc3
sub edx, 0xa8ce
pop edx
push edi
call 0x406a3a
add byte [edx + 0x3c], cl
cmp dword [ebx], edi
dec eax
inc edx
cmp cl, byte [edi + 0x43]
cmp al, byte [ebx + 0x3eb04c4]
cmp al, 0x43
dec edx
pop edi
mov edx, dword [ebp - 0x518]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
cmp ecx, dword [ebp - 0xcc8]
je 0x406a6f
mov edx, dword [ebp - 0x518]
cmp dword [edx + 0x30], 0
jne 0x40683a
mov dword [ebp - 0x2f4], 0
push edx
and edx, 0xe03b
xor edx, 0x16f39
or edx, 0x7f43
call 0x406a9b
add byte [ecx + 0x4d], cl
inc ecx
inc ebx
inc ebx
xor edi, dword [edi]
cmp dh, byte [ebx]
add esp, 4
pop edx
push eax
push eax
add esp, 4
add eax, 0x11d50
pop eax
cmp dword [ebp - 0x2f4], 0
jne 0x4073b0
mov eax, 0x6b
mov word [ebp - 0x17c8], ax
mov ecx, 0x65
mov word [ebp - 0x17c6], cx
mov edx, 0x72
mov word [ebp - 0x17c4], dx
mov eax, 0x6e
mov word [ebp - 0x17c2], ax
mov ecx, 0x65
mov word [ebp - 0x17c0], cx
mov edx, 0x6c
mov word [ebp - 0x17be], dx
mov eax, 0x33
mov word [ebp - 0x17bc], ax
mov ecx, 0x32
mov word [ebp - 0x17ba], cx
mov edx, 0x2e
mov word [ebp - 0x17b8], dx
mov eax, 0x64
mov word [ebp - 0x17b6], ax
mov ecx, 0x6c
mov word [ebp - 0x17b4], cx
mov edx, 0x6c
mov word [ebp - 0x17b2], dx
xor eax, eax
mov word [ebp - 0x17b0], ax
push eax
and eax, 0x1345b
or eax, 0x81eb
sub eax, 0x7faa
pop eax
push edx
push ecx
add esp, 4
sub edx, 0x9bae
or edx, 0x169f3
sub edx, 0x637e
xor edx, 0xfa90
pop edx
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x19d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x1628], ecx
push ebx
xor ebx, 0x3f4d
pop ebx
push ebx
push ecx
add esp, 4
and ebx, 0xbb69
or ebx, 0x7044
pop ebx
push ebx
push esi
add esp, 4
sub ebx, 0x5809
pop ebx
push esi
push eax
add esp, 4
sub esi, 0xcd04
pop esi
cmp dword [ebp - 0x1628], 0
jne 0x406c50
mov dword [ebp - 0x778], 0
jmp 0x406ef7
mov edx, dword [ebp - 0x1628]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push eax
call 0x406c6f
add byte [eax + 0x49], al
xor eax, dword [edx + 0x44]
push eax
add esp, 4
and eax, 0x7ddd
xor eax, 0x207a
pop eax
push edx
push eax
add esp, 4
xor edx, 0xf906
pop edx
push esi
jmp 0x406c93
pop esi
cmp dword [ebp - 0xcd4], 0
jne 0x406cac
mov dword [ebp - 0x778], 0
jmp 0x406ef7
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x51c], edx
push edx
push edx
add esp, 4
add edx, 0xd41a
pop edx
push ebx
push eax
add esp, 4
add ebx, 0x17453
jmp 0x406cd5
pop ebx
push eax
xor eax, 0x7238
sub eax, 0xcbb3
add eax, 0xdf79
pop eax
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push esi
push ebx
add esp, 4
sub esi, 0x5885
pop esi
push ebx
add ebx, 0x2331
xor ebx, 0x10c0a
and ebx, 0x816
call 0x406d42
add byte [ebx], dh
xor eax, 0x42423e3b
inc edi
cmp eax, 0x4c48349
pop ebx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x3c], ax
push ecx
push edi
add esp, 4
sub ecx, 0x11b99
sub ecx, 0x17a25
add ecx, 0x2d05
or ecx, 0x1306f
pop ecx
push ecx
or ecx, 0x7223
xor ecx, 0xf850
or ecx, 0x8119
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406dec
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1670], edx
jmp 0x406e46
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406d14
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406d14
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406e30
mov dword [ebp - 0x162c], 0xffffffff
jmp 0x406e3a
mov dword [ebp - 0x162c], 1
mov ecx, dword [ebp - 0x162c]
mov dword [ebp - 0x1670], ecx
cmp dword [ebp - 0x1670], 0
jne 0x406e8f
push ecx
add ecx, 0x14c11
xor ecx, 0x109c5
add ecx, 0xab8
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0xf223
sub ecx, 0x13bac
or ecx, 0xbf7f
or ecx, 0x157a1
pop ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x778], edx
jmp 0x406ef7
push edx
push edi
add esp, 4
xor edx, 0xdbda
jmp 0x406ea0
pop edx
push edx
or edx, 0x65
xor edx, 0x1775c
pop edx
push eax
push edx
add esp, 4
or eax, 0xc0ef
add eax, 0x13ea4
pop eax
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xcd4]
je 0x406eed
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x406cb8
mov dword [ebp - 0x778], 0
push esi
push ecx
add esp, 4
jmp 0x406f04
pop esi
push edx
push esi
add esp, 4
or edx, 0x115fc
sub edx, 0x1c0
call 0x406f25
add byte [esp + ecx*2 + 0x4b], al
inc edi
cmp bh, byte [ecx]
xor al, 0x4d
inc edi
add esp, 4
pop edx
cmp dword [ebp - 0x778], 0
jne 0x406f73
push ecx
jmp 0x406f39
pop ecx
push esi
xor esi, 0xd7bb
sub esi, 0x102c1
add esi, 0xb555
pop esi
push esi
sub esi, 0x9eb
pop esi
push eax
add eax, 0xb23e
or eax, 0xbe6f
pop eax
mov dword [ebp - 0xac0], 0
jmp 0x407a9b
push ebx
push ecx
add esp, 4
jmp 0x406f7d
pop ebx
push esi
call 0x406f8e
add byte [esi], bh
xor al, 0x40
inc eax
inc edx
inc edi
cmp al, 0x35
dec ebp
add esp, 4
or esi, 0x25b7
xor esi, 0x29c8
jmp 0x406fa4
pop esi
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x406fe4
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x4072d5
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x40700c
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x4072d5
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x40703e
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x4072d5
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x407063
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x4072d5
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19d8], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19dc], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e0], edx
mov dword [ebp - 0x780], 0
jmp 0x4070bd
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x4072c9
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19d8]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19dc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e0]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e4], ecx
mov dword [ebp - 0x19c], 0
jmp 0x40712d
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4071df
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x4071df
push edi
call 0x407168
add byte [ebx], dh
cmp al, byte [edx + 0x3f]
inc esi
cmp dh, byte [esi]
add esp, 4
and edi, 0x3bd4
pop edi
push eax
xor eax, 0x15454
sub eax, 0x12303
and eax, 0xdcc6
sub eax, 0x3a2a
pop eax
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x4071d1
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x4071d8
jmp 0x40711e
jmp 0x4071df
push edi
push ecx
add esp, 4
add edi, 0xb61b
add edi, 0x15e4f
pop edi
push edi
xor edi, 0x106bd
and edi, 0x16d4c
pop edi
push edi
push ecx
add esp, 4
and edi, 0x15f96
and edi, 0x149a0
pop edi
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x40723e
mov dword [ebp - 0xcd8], 0
jmp 0x4072ad
push esi
jmp 0x407245
call 0x407253
add byte [ecx + 0x47], cl
xor esi, dword [edi]
cmp eax, 0x83494f37
les eax, [ecx + eax*4]
out dx, al
sub dword [ebx], esp
add byte [eax], al
call 0x40726c
add byte [ecx], bh
dec ebx
inc edx
aaa
xor eax, dword [edi + edi + 0x33]
cmp dword [esi], edi
add esp, 4
pop esi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x4072a3
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x4072ad
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x4072c4
mov edx, dword [ebp - 0x19e4]
mov dword [ebp - 0x3fc], edx
jmp 0x4072d5
jmp 0x4070ae
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x4073b0
push ecx
push edx
add esp, 4
or ecx, 0x151da
jmp 0x4072f5
jmp 0x4072fe
pop ecx
push ebx
push edi
add esp, 4
sub ebx, 0x67e9
jmp 0x407313
pop ebx
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x19e8], ecx
push ebx
push esi
add esp, 4
or ebx, 0xac98
sub ebx, 0x65b3
and ebx, 0x483e
or ebx, 0x8217
pop ebx
push ebx
add ebx, 0xa093
xor ebx, 0x4f7b
and ebx, 0xbac
pop ebx
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x19ec], edx
lea eax, [ebp - 0x1740]
push eax
call dword [ebp - 0x19ec]
test eax, eax
jne 0x4073b0
push edx
xor edx, 0xfc6e
or edx, 0x1802a
add edx, 0x5ad7
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0x9c6b
and ecx, 0x77de
and ecx, 0xac01
sub ecx, 0x2b44
pop ecx
mov dword [ebp - 0xac0], 0
jmp 0x407a9b
push ecx
xor ecx, 0xeb56
pop ecx
push edi
push esi
add esp, 4
call 0x4073cc
add byte [eax], bh
dec eax
inc ecx
aas
inc edi
inc esp
cmp eax, 0xc4835033
add al, 0x81
out dx, eax
or al, 0x64
add dword [eax], eax
xor edi, 0x3319
xor edi, 0x7716
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x19f0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f4], eax
mov ecx, dword [ebp - 0x19f4]
mov dword [ebp - 0x1684], ecx
push esi
and esi, 0x9276
pop esi
push edi
push edx
add esp, 4
sub edi, 0x133bf
xor edi, 0xbe98
call 0x407432
add byte [esi + 0x4c], cl
dec ecx
dec ebx
inc ebp
aaa
inc ebp
inc edx
xor eax, 0xeb04c483
add al, 0x44
cmp al, 0x32
dec esi
pop edi
cmp dword [ebp - 0x1684], 0
jne 0x407454
mov dword [ebp - 0x2f4], 0
jmp 0x4076fb
mov edx, dword [ebp - 0x1684]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce4], ecx
push esi
push esi
add esp, 4
or esi, 0x14866
pop esi
push eax
push esi
add esp, 4
add eax, 0x14a3d
add eax, 0x8a72
xor eax, 0x880d
or eax, 0x126cf
pop eax
push ecx
and ecx, 0xb589
pop ecx
cmp dword [ebp - 0xce4], 0
jne 0x4074b0
mov dword [ebp - 0x2f4], 0
jmp 0x4076fb
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0x520], edx
push edi
push ebx
add esp, 4
call 0x4074cf
add byte [eax + 0x4d], dl
xor edx, dword [eax + 0x4f]
aaa
inc eax
add esp, 4
xor edi, 0x1804c
jmp 0x4074df
and edi, 0x72ab
pop edi
push ecx
add ecx, 0x6429
pop ecx
lea eax, [ebp - 0x1740]
mov dword [ebp - 0xce0], eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcdc], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push eax
push edx
add esp, 4
add eax, 0x12fdf
or eax, 0x15a78
and eax, 0x14ddd
jmp 0x407535
pop eax
push edx
add edx, 0xf715
and edx, 0x1733b
add edx, 0x680b
pop edx
mov edx, dword [ebp - 0xcdc]
mov ax, word [edx]
mov word [ebp - 0x104a], ax
mov ecx, dword [ebp - 0xcdc]
add ecx, 2
mov dword [ebp - 0xcdc], ecx
mov dx, word [ebp - 0x104a]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xce0]
mov cx, word [eax]
mov word [ebp - 0x104c], cx
mov edx, dword [ebp - 0xce0]
add edx, 2
mov dword [ebp - 0xce0], edx
mov ax, word [ebp - 0x104c]
mov word [ebp - 0x40], ax
push edi
push edx
add esp, 4
jmp 0x4075ac
pop edi
push edx
push esi
add esp, 4
sub edx, 0x24dc
pop edx
push esi
jmp 0x4075c1
jmp 0x4075c6
or esi, 0x157a3
xor esi, 0x12cc9
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x4075f0
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x168c], edx
jmp 0x40764a
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407518
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407518
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407634
mov dword [ebp - 0x1688], 0xffffffff
jmp 0x40763e
mov dword [ebp - 0x1688], 1
mov ecx, dword [ebp - 0x1688]
mov dword [ebp - 0x168c], ecx
cmp dword [ebp - 0x168c], 0
jne 0x407693
push esi
push ebx
add esp, 4
sub esi, 0x9f0e
xor esi, 0x5641
jmp 0x40766a
and esi, 0x15d7
pop esi
push ecx
and ecx, 0xf5e
or ecx, 0x14697
and ecx, 0x3925
pop ecx
mov edx, dword [ebp - 0x520]
mov dword [ebp - 0x2f4], edx
jmp 0x4076fb
push esi
push ecx
add esp, 4
jmp 0x4076a0
pop esi
push eax
push esi
add esp, 4
or eax, 0x565c
xor eax, 0x6bba
call 0x4076c1
add byte [eax + 0x3f], al
cmp byte [edx + 0x3e], cl
aaa
inc ebx
dec ebp
inc eax
add esp, 4
pop eax
mov eax, dword [ebp - 0x520]
mov ecx, dword [eax]
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x520]
cmp edx, dword [ebp - 0xce4]
je 0x4076f1
mov eax, dword [ebp - 0x520]
cmp dword [eax + 0x30], 0
jne 0x4074bc
mov dword [ebp - 0x2f4], 0
push edi
push ecx
add esp, 4
add edi, 0x113b2
add edi, 0x98e8
and edi, 0x8756
call 0x407721
add byte [ecx + 0x37], cl
cmp al, 0x4b
dec ebp
xor edi, dword ss:[edi + 0x5f04c483]
push esi
sub esi, 0xbfe1
pop esi
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x36c], edx
push esi
push edx
add esp, 4
or esi, 0x47bc
and esi, 0x76f7
xor esi, 0x5577
pop esi
push edi
and edi, 0x8b7b
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0x1618e
sub ecx, 0x165f2
pop ecx
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x1690], eax
cmp dword [ebp - 0x1690], 0
jne 0x40779e
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x407a8f
mov edx, dword [ebp - 0x1690]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1694], eax
jne 0x4077c6
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x407a8f
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1694]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 0
jne 0x4077f8
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
jmp 0x407a8f
mov ecx, dword [ebp - 0x36c]
add ecx, dword [ebp - 0x1698]
mov dword [ebp - 0x78c], ecx
jne 0x40781d
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x524], edx
jmp 0x407a8f
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f8], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19fc], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a00], edx
mov dword [ebp - 0x790], 0
jmp 0x407877
mov eax, dword [ebp - 0x790]
add eax, 1
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
cmp edx, dword [ecx + 0x18]
jae 0x407a83
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19f8]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19fc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a00]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a04], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x4078e7
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407999
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
test eax, eax
je 0x407999
push edx
sub edx, 0x2d16
pop edx
push edx
push edi
add esp, 4
or edx, 0x48d9
or edx, 0xe5f0
sub edx, 0x1498e
pop edx
push ebx
push edx
add esp, 4
sub ebx, 0x8d1a
xor ebx, 0xeeb2
pop ebx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
cmp edx, ecx
je 0x40798b
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x9d8]
cmp eax, edx
jne 0x407992
jmp 0x4078d8
jmp 0x407999
push ebx
jmp 0x40799f
or ebx, 0xbfe
xor ebx, 0xc3e5
pop ebx
push ebx
jmp 0x4079b3
pop ebx
push eax
push edx
add esp, 4
jmp 0x4079be
xor eax, 0x184b
add eax, 0xd9bc
pop eax
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
cmp ecx, eax
jne 0x4079f8
mov dword [ebp - 0xce8], 0
jmp 0x407a67
push edi
push ebx
add esp, 4
or edi, 0xaf2d
pop edi
push ebx
jmp 0x407a0a
sub ebx, 0x72f4
pop ebx
push edx
jmp 0x407a1b
pop edx
push edx
sub edx, 0x2aab
add edx, 0x2944
pop edx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
or ecx, 0x20
cmp edx, ecx
jge 0x407a5d
mov dword [ebp - 0xce8], 0xffffffff
jmp 0x407a67
mov dword [ebp - 0xce8], 1
cmp dword [ebp - 0xce8], 0
jne 0x407a7e
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x524], edx
jmp 0x407a8f
jmp 0x407868
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0xac0], ecx
push esi
push esi
add esp, 4
add esi, 0x337e
add esi, 0x51e5
or esi, 0x13d7d
xor esi, 0x10357
pop esi
push ecx
or ecx, 0x14910
pop ecx
push edi
push eax
add esp, 4
xor edi, 0x64d1
pop edi
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0xcec]
push eax
push 0x40
mov ecx, dword [ebp - 0x169c]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [ebp - 0x1a08]
test eax, eax
jne 0x407b40
push eax
push ecx
add esp, 4
or eax, 0x1309f
xor eax, 0x10efa
or eax, 0x611c
add eax, 0x182cb
pop eax
push ebx
or ebx, 0x43af
sub ebx, 0xcce6
xor ebx, 0x3434
pop ebx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a0c], eax
push 0
call dword [ebp - 0x1a0c]
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x79c], ecx
jmp 0x407b5d
mov edx, dword [ebp - 0x79c]
add edx, 1
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0xac4]
jae 0x407bb9
push ecx
push ebx
add esp, 4
and ecx, 0xfbda
pop ecx
push esi
xor esi, 0x10491
call 0x407b8d
add byte [edi + 0x4c], cl
xor eax, 0x4441464c
aaa
add esp, 4
add esi, 0x157a5
sub esi, 0x15d8e
pop esi
movzx ecx, byte [ebp - 0x3ed]
mov edx, dword [ebp - 0x79c]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x79c]
mov byte [ecx], al
jmp 0x407b4e
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a14], edx
lea eax, [ebp - 0xcec]
push eax
mov ecx, dword [ebp - 0xcec]
push ecx
mov edx, dword [ebp - 0x169c]
push edx
mov eax, dword [ebp - 0x3e4]
push eax
call dword [ebp - 0x1a14]
test eax, eax
jne 0x407c31
push edx
or edx, 0xbeeb
call 0x407c00
add byte [edx], bh
inc ecx
dec ebx
xor eax, dword [ebp + 0x33]
inc edx
xor al, byte [ebx + 0x5eb04c4]
dec edi
push eax
cmp byte ss:[ebx - 0x18], al
or al, byte [eax]
add byte [eax], al
add byte [ecx + 0x35], cl
cmp byte [ecx], bh
xor ecx, dword [ecx + 0x3a]
inc edx
dec edx
add esp, 4
pop edx
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a18], ecx
push 0
call dword [ebp - 0x1a18]
push esi
xor esi, 0x1751d
pop esi
push edi
add edi, 0xb61d
pop edi
push ecx
xor ecx, 0x10108
and ecx, 0x825
sub ecx, 0x5507
and ecx, 0x3545
pop ecx
push ecx
xor ecx, 0xe42
pop ecx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff02ff
pop ecx
pop eax
in eax, dx
push es
dec ebp
inc ecx
dec edi
dec ecx
ljmp 0x3e02