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

Disassembly:
push ebx
push esi
add esp, 4
sub ebx, 0xa78b
or ebx, 0x8562
jmp 0x406596
pop ebx
push ebx
and ebx, 0x2452
and ebx, 0x175d6
add ebx, 0x8e65
add ebx, 0x12c39
pop ebx
lea edx, [ebp - 0x173c]
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 ecx
push ebx
add esp, 4
call 0x4065ed
add byte [0x3740354b], dh
inc esi
cmp dword [ebx + 0x565904c4], eax
or esi, 0x7a6d
pop esi
push ecx
and ecx, 0xc7a7
xor ecx, 0x8301
jmp 0x40660c
pop ecx
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 edi
add edi, 0x170bb
add edi, 0xae06
sub edi, 0x1ec
jmp 0x40667f
pop edi
push ecx
push edi
add esp, 4
call 0x406692
add byte [ebx + 0x3b], al
inc ebx
xor eax, dword [ebx + 0x3d]
dec edx
add esp, 4
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4066b3
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1620], ecx
jmp 0x40670d
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4065db
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4065db
invalid
invalid
invalid
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4066f7
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x406701
mov dword [ebp - 0x161c], 1
mov eax, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], eax
cmp dword [ebp - 0x1620], 0
jne 0x406756
push edi
add edi, 0x1616a
pop edi
push esi
sub esi, 0x14b32
pop esi
push ebx
sub ebx, 0x7987
sub ebx, 0x1573b
pop ebx
push ebx
sub ebx, 0xb42c
pop ebx
push edx
push eax
add esp, 4
sub edx, 0x38d2
pop edx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4067be
push edi
call 0x406765
add byte [edi + 0x34], al
dec edi
inc ebp
dec ebp
dec eax
inc esi
dec ebx
add esp, 4
or edi, 0x7efc
and edi, 0x8f8f
pop edi
push esi
add esi, 0x30d0
jmp 0x406781
xor esi, 0x100bb
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 0x4067b4
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x40657f
mov dword [ebp - 0x2fc], 0
push ebx
push edx
add esp, 4
xor ebx, 0x2dfb
xor ebx, 0x1840c
add ebx, 0xb222
or ebx, 0x401c
pop ebx
push esi
add esi, 0xa841
pop esi
push ebx
push esi
add esp, 4
and ebx, 0x13764
pop ebx
cmp dword [ebp - 0x2fc], 0
jne 0x4070f5
mov eax, 0x6b
mov word [ebp - 0x1774], ax
mov ecx, 0x65
mov word [ebp - 0x1772], cx
mov edx, 0x72
mov word [ebp - 0x1770], dx
mov eax, 0x6e
mov word [ebp - 0x176e], ax
mov ecx, 0x65
mov word [ebp - 0x176c], cx
mov edx, 0x6c
mov word [ebp - 0x176a], dx
mov eax, 0x33
mov word [ebp - 0x1768], ax
mov ecx, 0x32
mov word [ebp - 0x1766], cx
mov edx, 0x2e
mov word [ebp - 0x1764], dx
mov eax, 0x64
mov word [ebp - 0x1762], ax
mov ecx, 0x6c
mov word [ebp - 0x1760], cx
mov edx, 0x6c
mov word [ebp - 0x175e], dx
xor eax, eax
mov word [ebp - 0x175c], ax
push ebx
or ebx, 0x44ba
pop ebx
push ecx
or ecx, 0x8c9b
pop ecx
push esi
jmp 0x4068af
or esi, 0xd915
or esi, 0xed2
pop esi
push ecx
push esi
add esp, 4
and ecx, 0xf2ad
add byte [eax], al
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 - 0x1a00], ecx
mov edx, dword [ebp - 0x1a00]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a04], eax
mov ecx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1624], ecx
push edi
add edi, 0x1356f
or edi, 0xbdf5
and edi, 0x92c1
xor edi, 0xb53d
pop edi
push esi
push ecx
add esp, 4
sub esi, 0x1d86
sub esi, 0xc718
xor esi, 0x4427
pop esi
cmp dword [ebp - 0x1624], 0
jne 0x406995
mov dword [ebp - 0x774], 0
jmp 0x406c3c
mov edx, dword [ebp - 0x1624]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push ecx
push edi
add esp, 4
add ecx, 0xdbe5
pop ecx
push edx
xor edx, 0x16e53
sub edx, 0x179f0
xor edx, 0x56ad
and edx, 0x3b57
pop edx
push ecx
push esi
add esp, 4
sub ecx, 0x14ad
pop ecx
cmp dword [ebp - 0xcd0], 0
jne 0x4069f1
mov dword [ebp - 0x774], 0
jmp 0x406c3c
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push edx
call 0x406a0d
add byte [ebx + 0x33], al
push eax
cmp eax, dword [ebp + 0x3f]
inc esi
cmp al, 0x34
add esp, 4
add edx, 0x9a8d
pop edx
push eax
push edx
add esp, 4
sub eax, 0x6ea5
pop eax
push eax
push edi
add esp, 4
or eax, 0x133b
pop eax
lea eax, [ebp - 0x1774]
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 eax
push edi
add esp, 4
add eax, 0xb4c8
pop eax
push eax
jmp 0x406a6c
pop eax
push ebx
or ebx, 0x171ce
and ebx, 0xcd50
pop ebx
push eax
add eax, 0x11ca1
jmp 0x406a8a
pop eax
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 ecx
and ecx, 0x16e3c
add ecx, 0xd3e9
and ecx, 0x2bd9
pop ecx
push esi
push esi
add esp, 4
and esi, 0x5ab5
xor esi, 0x535c
sub esi, 0x7d03
xor esi, 0x149e2
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406b31
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x166c], edx
jmp 0x406b8b
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406a59
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406a59
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406b75
mov dword [ebp - 0x1668], 0xffffffff
jmp 0x406b7f
mov dword [ebp - 0x1668], 1
mov ecx, dword [ebp - 0x1668]
mov dword [ebp - 0x166c], ecx
cmp dword [ebp - 0x166c], 0
jne 0x406bd4
push edi
call 0x406ba4
add byte [ebx], bh
push eax
inc eax
xor bh, byte [ecx]
dec edx
xor eax, 0x4c4834a
sub edi, 0x1384a
add edi, 0x5a80
sub edi, 0x16226
pop edi
push edx
push eax
add esp, 4
or edx, 0x2e92
pop edx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x406c3c
push esi
xor esi, 0x1521a
pop esi
push esi
xor esi, 0xc68e
jmp 0x406be8
call 0x406bf4
add byte [0x4b424448], bh
inc ecx
add esp, 4
pop esi
push ecx
add ecx, 0x6edb
and ecx, 0x167a0
pop ecx
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 0x406c32
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x4069fd
mov dword [ebp - 0x774], 0
push ecx
push edx
add esp, 4
add ecx, 0x3437
add ecx, 0x81bd
pop ecx
push eax
jmp 0x406c56
jmp 0x406c5f
pop eax
push edx
add edx, 0x12af6
sub edx, 0x3a18
pop edx
cmp dword [ebp - 0x774], 0
jne 0x406cb8
push edx
push edi
add esp, 4
add edx, 0x1342c
xor edx, 0x6ce9
xor edx, 0x3b6c
or edx, 0x5ff4
pop edx
push eax
sub eax, 0xe20
xor eax, 0x5fbd
and eax, 0xfb28
pop eax
mov dword [ebp - 0xabc], 0
jmp 0x4077e0
push ecx
add ecx, 0x12282
or ecx, 0x1c70
jmp 0x406ccb
pop ecx
push ebx
push esi
add esp, 4
call 0x406ce0
add byte [edi], dh
dec ebx
dec ecx
inc ebp
cmp al, 0x3c
dec edi
cmp eax, 0x4c4833d
xor ebx, 0x2bf2
pop ebx
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 - 0x1670], eax
cmp dword [ebp - 0x1670], 0
jne 0x406d29
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40701a
mov edx, dword [ebp - 0x1670]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x406d51
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40701a
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x167c], edx
cmp dword [ebp - 0x167c], 0
jne 0x406d83
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x40701a
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x167c]
mov dword [ebp - 0x778], ecx
jne 0x406da8
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x40701a
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a08], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a0c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a10], edx
mov dword [ebp - 0x77c], 0
jmp 0x406e02
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x40700e
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x1a08]
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 - 0x1a0c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a10]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a14], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x406e72
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 0x406f24
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x406f24
push esi
push edx
add esp, 4
add esi, 0x10f67
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0x6e3f
add ecx, 0x3303
sub ecx, 0x36c7
sub ecx, 0x14968
pop ecx
push ecx
add ecx, 0x229f
pop ecx
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 0x406f16
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 0x406f1d
jmp 0x406e63
jmp 0x406f24
push eax
push esi
add esp, 4
sub eax, 0x88a8
pop eax
push esi
xor esi, 0x7ed7
pop esi
push eax
jmp 0x406f3e
pop eax
push edx
or edx, 0x5123
xor edx, 0x9a73
pop edx
push edx
jmp 0x406f55
pop edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x406f83
mov dword [ebp - 0xcd4], 0
jmp 0x406ff2
push eax
sub eax, 0x14320
pop eax
push edx
jmp 0x406f92
sub edx, 0x583e
pop edx
push eax
jmp 0x406fa1
jmp 0x406fa6
pop eax
push eax
sub eax, 0xe7ed
or eax, 0x7c53
pop eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x406fe8
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x406ff2
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x407009
mov edx, dword [ebp - 0x1a14]
mov dword [ebp - 0x3f8], edx
jmp 0x40701a
jmp 0x406df3
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4070f5
push ecx
and ecx, 0x13806
add ecx, 0x17c97
and ecx, 0x2a2b
pop ecx
push esi
push edi
add esp, 4
or esi, 0xae5
jmp 0x40704c
sub esi, 0xbb12
or esi, 0x11593
pop esi
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a18], ecx
push ecx
push esi
add esp, 4
or ecx, 0xa6a7
pop ecx
push ecx
add ecx, 0xac9a
pop ecx
push esi
push esi
add esp, 4
sub esi, 0x9333
jmp 0x40708a
pop esi
push esi
push ebx
add esp, 4
sub esi, 0x12da0
pop esi
mov edx, dword [ebp - 0x1a18]
mov dword [ebp - 0x1a1c], edx
lea eax, [ebp - 0x173c]
push eax
call dword [ebp - 0x1a1c]
test eax, eax
jne 0x4070f5
push esi
push edx
add esp, 4
or esi, 0x125c
call 0x4070ce
add byte [edx + 0x43], cl
xor eax, 0x4c32454e
xor eax, 0x4c4833d
pop esi
push edx
and edx, 0x1832a
or edx, 0x12a15
add edx, 0xefe3
pop edx
mov dword [ebp - 0xabc], 0
jmp 0x4077e0
push ebx
push eax
add esp, 4
call 0x40710a
add byte [ebx + 0x48], cl
aaa
inc ebp
push eax
dec ebp
inc ecx
xor al, 0x4f
dec ebx
add esp, 4
sub ebx, 0x122eb
pop ebx
push esi
add esi, 0x5ac0
jmp 0x407120
xor esi, 0x6cc9
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a20], ecx
mov edx, dword [ebp - 0x1a20]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a24], eax
mov ecx, dword [ebp - 0x1a24]
mov dword [ebp - 0x1680], ecx
push ecx
push edx
add esp, 4
call 0x407161
add byte [esi + 0x3a], cl
xor eax, 0x4d42353f
add esp, 4
or ecx, 0x17e85
and ecx, 0x25b3
call 0x40717d
add byte [edx + 0x3c], al
inc esi
dec edx
cmp al, 0x83
les eax, [ecx + ebx*2]
cmp dword [ebp - 0x1680], 0
jne 0x407199
mov dword [ebp - 0x2fc], 0
jmp 0x407440
mov edx, dword [ebp - 0x1680]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push eax
jmp 0x4071b5
jmp 0x4071bd
pop eax
push ecx
or ecx, 0x13153
add ecx, 0x4aa9
call 0x4071d9
add byte [edi + 0x45], cl
cmp eax, 0x504f4046
inc esi
add esp, 4
pop ecx
cmp dword [ebp - 0xce0], 0
jne 0x4071f5
mov dword [ebp - 0x2fc], 0
jmp 0x407440
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edi
and edi, 0x95f1
pop edi
push ecx
call 0x407218
add byte [edi + 0x3b], al
xor al, 0x40
dec ebx
inc ebp
add esp, 4
jmp 0x407224
xor ecx, 0xd5ce
pop ecx
push edi
sub edi, 0x672e
pop edi
lea eax, [ebp - 0x173c]
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 edx
call 0x40726d
add byte [esi + 0x50], al
inc edx
cmp eax, 0x4232473f
aaa
add esp, 4
pop edx
push esi
push edi
add esp, 4
add esi, 0xb001
call 0x40728b
add byte [edx + 0x4b], al
dec esp
dec ecx
inc ebx
inc eax
inc ecx
aas
dec ebp
add esp, 4
pop esi
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 eax
push edx
add esp, 4
jmp 0x4072f3
and eax, 0x17b49
pop eax
push esi
push ebx
add esp, 4
or esi, 0x14649
sub esi, 0xbabe
and esi, 0x545f
sub esi, 0x4ab9
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407335
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1688], edx
jmp 0x40738f
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40725d
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40725d
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407379
mov dword [ebp - 0x1684], 0xffffffff
jmp 0x407383
mov dword [ebp - 0x1684], 1
mov ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 0
jne 0x4073d8
push ecx
sub ecx, 0xb7f5
jmp 0x4073a4
or ecx, 0x4ad2
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0xe271
or ecx, 0x16786
and ecx, 0x219c
jmp 0x4073c9
pop ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x407440
push edi
jmp 0x4073e2
pop edi
push edx
push esi
add esp, 4
and edx, 0x9596
call 0x4073fa
add byte [edi + 0x42], al
inc edi
inc ecx
cmp al, 0x3e
add esp, 4
xor edx, 0x7db
xor edx, 0x6036
pop edx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x407436
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x407201
mov dword [ebp - 0x2fc], 0
push eax
or eax, 0x14990
pop eax
push ebx
push ebx
add esp, 4
and ebx, 0x74b8
and ebx, 0x8407
pop ebx
push esi
xor esi, 0xe680
call 0x40746e
add byte [edi + eax*2 + 0x3d], cl
dec eax
inc esi
xor eax, dword [ebx - 0x74a1fb3c]
lea eax, [edi*8 + 0x518bffff]
sbb byte [ecx - 0x3376b], cl
call dword [ebx - 0x7f]
cdq
add byte [eax], al
jmp 0x40748d
add ebx, 0x2a5c
or ebx, 0xb902
pop ebx
push ebx
push edx
add esp, 4
call 0x4074af
add byte [eax + 0x4f], dl
xor al, byte [ecx + 0x4e]
inc edi
inc edi
xor ecx, dword [eax + 0x36]
add esp, 4
pop ebx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x4074e3
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077d4
mov edx, dword [ebp - 0x168c]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1690], eax
jne 0x40750b
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077d4
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1690]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x40753d
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x4077d4
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1694]
mov dword [ebp - 0x788], ecx
jne 0x407562
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x4077d4
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a28], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a2c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a30], edx
mov dword [ebp - 0x78c], 0
jmp 0x4075bc
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x4077c8
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a28]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a2c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a34], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x40762c
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4076de
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x4076de
push ecx
push eax
add esp, 4
sub ecx, 0x3ed0
or ecx, 0x1583
jmp 0x407671
pop ecx
push edx
xor edx, 0x45d2
jmp 0x40767e
xor edx, 0x15ffb
or edx, 0xd722
pop edx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x4076d0
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x4076d7
jmp 0x40761d
jmp 0x4076de
push edx
add edx, 0x130f0
pop edx
push eax
jmp 0x4076ee
or eax, 0x1349d
jmp 0x4076fa
xor eax, 0x125c1
pop eax
push edi
add edi, 0xbb75
jmp 0x40770f
pop edi
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x40773d
mov dword [ebp - 0xce4], 0
jmp 0x4077ac
push eax
push ecx
add esp, 4
sub eax, 0x11eab
call 0x407755
add byte [edx + 0x42], al
cmp dword [ebp + 0x3f], eax
inc ebp
inc ecx
add esp, 4
jmp 0x40775f
or eax, 0x7cfa
pop eax
push edx
jmp 0x40776e
pop edx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
leave
and byte [ebx], bh
sar dword [ebp + 0xc], 1
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x4077ac
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x4077c3
mov edx, dword [ebp - 0x1a34]
mov dword [ebp - 0x520], edx
jmp 0x4077d4
jmp 0x4075ad
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xabc], ecx
push ebx
xor ebx, 0xc86c
or ebx, 0xebcd
add ebx, 0x3e7b
or ebx, 0xa0c6
pop ebx
push esi
add esi, 0xeba2
jmp 0x407809
pop esi
push ecx
or ecx, 0x15b6e
pop ecx
mov edx, dword [ebp - 0xabc]
mov dword [ebp - 0x1a38], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1698]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x1a38]
test eax, eax
jne 0x407885
push edx
or edx, 0x700f
pop edx
push ebx
push edi
add esp, 4
call 0x40785b
add byte [ecx + 0x40], cl
inc edi
cmp dword [edx + eax*2 + 0x3d], eax
cmp dword [edi], esi
add esp, 4
or ebx, 0x1dfb
add ebx, 0x162e6
xor ebx, 0x4f87
pop ebx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x1a3c], eax
push 0
call dword [ebp - 0x1a3c]
mov ecx, dword [ebp - 0x1a40]
mov dword [ebp - 0x798], ecx
jmp 0x4078a2
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xac0]
jae 0x4078fe
push ebx
xor ebx, 0x185a6
pop ebx
push esi
add esi, 0xbf4f
xor esi, 0x2b25
pop esi
push ebx
push edx
add esp, 4
jmp 0x4078d0
add ebx, 0x4303
jmp 0x4078db
sub ebx, 0xff7f
pop ebx
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x407893
mov edx, dword [ebp - 0xabc]
mov dword [ebp - 0x1a44], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x1698]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x1a44]
test eax, eax
jne 0x407976
push edx
and edx, 0x7b91
add edx, 0xbb5d
sub edx, 0xfb14
and edx, 0x13b9b
pop edx
push edx
push edi
add esp, 4
call 0x40795e
add byte [ebx + edi + 0x3d], cl
inc edi
dec edx
aas
dec ebp
xor eax, 0x4c4834a
pop edx
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x1a48], ecx
push 0
call dword [ebp - 0x1a48]
push ecx
jmp 0x40797f
and ecx, 0x17c44
sub ecx, 0x1cb0
add ecx, 0x4491
pop ecx
push esi
xor esi, 0x5063
pop esi
push esi
or esi, 0xf7f3
add esi, 0x14762
pop esi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff02ff
pop ecx
pop eax
xor eax, 0x2b
insd dword es:[edi], dx
add eax, dword [edx]
xor eax, 0xffffffee
add al, byte [ebx]
add al, byte [ebx + 0x2fe7cd0]
inc byte [edx]
add ch, dl
or al, 2
add al, byte [edx]
add dh, byte [0x434c3d47]
inc eax
xor al, 0x4f
xor eax, 0x6006c685
pop eax
push ebp
test esi, eax
push es
xor eax, 0xffffffeb
and eax, dword [ebx]
add ah, byte [eax - 0x38]
xchg dword [esi + 0x490101f0], esi
enter 0xffffffffffffb787, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffb887, 0xfffffffffffffff0
add dword [ecx], eax
jbe 0x4079c6
invalid
xchg dword [ecx + 0x4f0101f0], edi
enter 0xffffffffffffba87, 0xfffffffffffffff0
add dword [ecx], eax
jno 0x4079d4
xchg dword [edx + 0x710101f0], edi
enter 0xffffffffffffbb87, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffbc87, 0xfffffffffffffff0
xchg dword [ebx + 0x660101f0], edi
enter 0xffffffffffffbc87, 0xfffffffffffffff0
add dword [ecx], eax
ja 0x4079e2
xchg dword [ebp + 0x6e0101f0], edi
enter 0xffffffffffffbe87, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffbf87, 0xfffffffffffffff0
add dword [ecx], eax
dec edx
enter 0xffffffffffffc087, 0xfffffffffffffff0
add dword [ecx], eax
arpl ax, cx
xchg ecx, eax
lock add dword [ecx], eax
jo 0x407a05
xchg edx, eax
lock add dword [ecx], eax
enter 0xffffffffffffc387, 0xfffffffffffffff0
add dword [ecx], eax
outsb dx, byte [esi]
enter 0xffffffffffffc487, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffc587, 0xfffffffffffffff0
add dword [ecx], eax
pop ecx
enter 0xffffffffffffc687, 0xfffffffffffffff0
add dword [ecx], eax
add dl, byte [ebp - 0x7d]
in eax, 0x96
sub dword [edx], eax
add bl, byte [ebp + 0x58]
pop eax
test esi, eax
push es
sub eax, 0xffffffa6
retf 0x202