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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x42d5e0]
mov ecx, dword [esp + 0x64]
xor ebp, ebp
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov eax, 0xb2997d58
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
mov eax, dword [esp + 0x18]
cmp dword [esp + 0xc], 0
mov edi, dword [esp + 0x2c]
mov eax, 0xd32fabb0
mov ecx, 0x3c3303e2
cmove eax, ecx
nop
cmp eax, 0xe6e342a4
jle 0x403760
cmp eax, 0x5579ed7
jg 0x4037c0
cmp eax, 0xe6e342a5
je 0x40381b
cmp eax, 0xff9b13c5
jne 0x4036f0
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x34]
mov eax, dword [eax]
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x18]
mov ecx, ebx
add eax, dword [esp + 0x64]
push eax
call fcn.00403b00
push 0x235
push ebx
call fcn.00401840
add esp, 8
cmp eax, dword [esp + 0x68]
mov eax, 0xe6e342a5
mov ecx, 0xb8254c5f
cmove eax, ecx
cmp eax, 0xe6e342a4
jg 0x4036f7
nop dword [eax + eax]
cmp eax, 0xb8254c5e
jg 0x403800
cmp eax, 0x836ede61
je 0x403847
cmp eax, 0xb2997d58
jne 0x4036f0
mov eax, dword [esp + 4]
mov dword [esp + 0x20], ebp
mov edx, 0xff9b13c5
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
mov eax, 0x5579ed8
cmovb eax, edx
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
cmp eax, 0x5579ed8
je 0x403a7b
cmp eax, 0x3c3303e2
jne 0x4036f0
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
inc ebp
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, 0xb2997d58
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
cmp eax, 0xb8254c5f
je 0x403a94
cmp eax, 0xd32fabb0
jne 0x4036f0
jmp 0x403adc
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc], 0
mov eax, 0x836ede61
mov ecx, dword [esp + 0x24]
add esi, 4
mov dword [esp + 8], ecx
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
mov eax, dword [esp + 8]
lea ecx, [esp + 0x34]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
call fcn.00406cc0
mov eax, dword [0x42df30]
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
mov edi, edx
not ecx
and edi, 0x790ab17e
mov eax, ecx
and ecx, 0x4b9963d7
and eax, 0x86f54e80
or edi, eax
mov eax, edx
xor edi, 0x790ab17e
and eax, 1
or eax, edi
mov edi, eax
and eax, 0xec0a9eae
not edi
and edi, 0x13f56151
or eax, edi
mov edi, eax
xor eax, 0x13f56151
mov ebx, eax
xor edi, 0x48080286
or eax, edx
and edx, 0xb4669c28
and ebx, 0xb4669c28
and edi, 0x4b9963d7
or ecx, edx
not eax
or edi, ebx
xor ecx, edi
mov edi, 0xee3ba78f
or eax, ecx
mov ecx, eax
and eax, 0x73c50204
not ecx
and ecx, 0x8c3afdfb
or eax, ecx
mov ecx, dword [0x42df34]
xor eax, 0x73c50204
sete al
setne dl
sete byte [esp + 0x32]
cmp ecx, 9
setg ah
cmp ecx, 0xa
mov cl, ah
setl byte [esp + 0x33]
xor al, ah
and cl, dl
xor dl, ah
mov ah, al
or dl, cl
not ah
mov ecx, edx
and ah, dl
or dl, al
not cl
and al, cl
mov ecx, edx
or al, ah
xor cl, al
mov ecx, 0x15e344f4
cmovne ecx, edi
test al, al
mov eax, 0x15e344f4
mov edi, ecx
cmovne edi, eax
test dl, dl
cmovne edi, ecx
mov ecx, 0x97803f
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0x15e344f3
jg 0x403a40
cmp ecx, 0xee3ba78f
je 0x403a68
cmp ecx, 0x97803f
jne 0x403950
movzx eax, byte [esp + 0x32]
movzx ebx, byte [esp + 0x33]
mov ecx, eax
mov dh, bl
xor cl, 1
xor dh, 1
mov ah, cl
mov dl, cl
mov bh, dh
mov ch, dh
and ah, al
and bh, bl
and dl, ah
xor ah, cl
and ch, bh
xor cl, al
or ah, dl
mov dl, dh
and cl, al
or dh, bl
xor dl, bh
xor bh, 1
xor dh, 1
or dl, ch
mov ch, ah
xor ch, 1
xor dl, 1
or ah, ch
mov al, ah
xor al, cl
xor cl, 1
or cl, ah
mov ah, al
xor ah, cl
or cl, al
mov al, bl
xor al, bh
or bh, bl
xor cl, 1
xor bh, 1
or cl, ah
or bh, al
xor bh, 1
mov al, bh
and al, dh
xor dh, bh
mov ebx, 0xee3ba78f
or dh, al
mov al, dh
xor al, 1
or al, cl
xor cl, 1
or cl, dh
mov ah, al
xor ah, cl
or cl, al
mov al, ch
or al, dl
xor cl, 1
xor dl, ch
xor al, 1
or cl, ah
mov ah, al
xor cl, 1
and ah, dl
xor dl, al
mov al, cl
or dl, ah
or al, dl
xor cl, dl
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0x5a9befe2
cmovne edx, ebx
test cl, 1
mov ebx, 0x5a9befe2
mov ecx, edx
cmovne ecx, ebx
test al, 1
cmovne ecx, edx
cmp ecx, 0x15e344f3
jle 0x40395c
nop
cmp ecx, 0x15e344f4
je 0x4036d5
cmp ecx, 0x5a9befe2
jne 0x403950
mov ecx, edi
cmp ecx, 0x15e344f3
jle 0x40395c
jmp 0x403a40
mov ecx, 0x5a9befe2
cmp ecx, 0x15e344f3
jle 0x40395c
jmp 0x403a40
mov edi, dword [esp + 0x24]
mov eax, 0xd32fabb0
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], 2
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 8], eax
mov eax, 0x836ede61
mov esi, dword [esp + 0x1c]
cmp eax, 0xe6e342a4
jg 0x4036f7
jmp 0x403760
mov ecx, dword [esp + 0x4c]
add edi, dword [esp + 0x64]
xor ecx, esp
call fcn.00410653
mov eax, edi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret