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

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
push edi
and esp, 0xfffffff8
sub esp, 0xd0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dx, 0x8abf
lea esi, [esp + 0x88]
mov byte [esp + 0xca], 0xee
mov dword [esp + 0xb8], 0x497ca232
mov word [esp + 0xb6], 0xaae2
mov word [esp + 0x52], 0x9326
lea edi, [esp + 0x88]
mov bx, word [esp + 0x52]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc4]
movaps xmm0, xmmword [0x4080e0]
movups xmmword [esp + 0x88], xmm0
mov byte [esp + 0x98], 0x64
mov byte [esp + 0x99], 0x64
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xbc]
mov byte [esp + 0x9a], 0x72
imul eax, eax, 0x6e2631b1
mov dword [esp + 0xbc], eax
add esi, 0x13
mov dword [esp + 0x40], 0
mov dword [esp + 0x54], 0x4341cf8c
cmp dx, bx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
jne 0x405f92
jmp 0x406036
lea eax, [esp + 0x38]
xor ecx, ecx
lea edx, [esp + 0x48]
mov dword [esp + 0x48], 0
mov esi, dword [esp + 0x24]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], ecx
call dword [esp + 0x58]
sub esp, 0x10
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x74], ecx
mov bl, byte [esp + 0xcb]
or bl, byte [esp + 0xcb]
mov byte [esp + 0xcb], bl
mov dword [esp + 0x18], eax
jmp 0x4060d1
mov eax, dword [esp + 0xa8]
mov cx, ax
mov word [esp + 0x38], cx
mov word [esp + 0x3a], cx
mov eax, dword [esp + 0xa8]
and eax, 0xffff
mov dword [esp + 0x74], 0
cmp eax, 0
je 0x4060d1
jmp 0x405d92
test byte [esp + 0x63], 1
jne 0x406094
jmp 0x405e7f
mov eax, 0x497ca232
mov cl, byte [esp + 0xcb]
mov edx, dword [esp + 0x80]
or cl, byte [esp + 0xcb]
mov byte [esp + 0xcb], cl
mov cl, byte [esp + 0xcb]
add cl, 0x13
mov byte [esp + 0xcb], cl
sub eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x84]
add esi, dword [edx + 0x24]
mov dword [esp + 0x40], esi
mov dword [esp + 0x54], eax
jmp 0x406036
mov ax, 0x228e
mov cx, 0x1068
sub cx, word [esp + 0xb6]
mov word [esp + 0x46], cx
mov cx, word [esp + 0x46]
mov dword [esp + 0xb0], 0
cmp ax, cx
jbe 0x405f60
jmp 0x406085
mov eax, 0x497ca252
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xac]
add edx, 1
sub eax, ecx
cmp edx, eax
setb bl
mov bh, byte [esp + 0x63]
cmp byte [esp + 0xb5], 0
setne al
and bh, al
and bl, bh
mov dword [esp + 0x78], edx
test bl, 1
jne 0x4060de
jmp 0x405e22
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb8]
add edx, 0xb6835dcf
mov esi, dword [esp + 0x34]
mov bl, byte [esi + eax]
add ecx, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xbc], 0x10d2d21
cmp bl, 0
je 0x405dec
jmp 0x405ef4
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0xb8]
add ecx, 0xb6835dce
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x6c], ecx
jmp 0x405ef4
mov eax, dword [esp + 0x68]
add eax, 2
mov ecx, dword [esp + 0x70]
add ecx, 1
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0xb0], 0
cmp ecx, edx
jb 0x406036
jmp 0x406085
mov al, byte [esp + 0xca]
add al, 0x77
mov ecx, dword [esp + 0x20]
mov byte [ecx], al
mov byte [esp + 0x9c], 0x73
mov byte [esp + 0x9d], 0x73
mov byte [esp + 0x9e], 0
mov byte [esp + 0x9f], 0xad
call fcn.004074c0
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x84]
mov eax, dword [eax + 0x3c]
mov esi, edx
add esi, eax
mov edi, dword [esp + 0x84]
cmp dword [edx + eax], 0x4550
cmove ecx, esi
add edi, dword [ecx + 0x78]
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x20]
add eax, dword [esp + 0x84]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], 0
cmp eax, 0
je 0x406085
jmp 0x405e2f
mov eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x4c]
mov cl, byte [esp + 0xcb]
mov dword [esp + 0x14], eax
mov al, cl
mul byte [esp + 0xcb]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
mov edx, dword [esi + edx*4]
mov byte [esp + 0xcb], al
add edx, dword [esp + 0x84]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], 0
jmp 0x4060de
mov eax, dword [esp + 0xb0]
lea esp, [ebp - 0xc]
pop edi
pop ebx
pop esi
pop ebp
ret
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x1c]
add eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x68]
movzx ecx, word [ecx]
mov eax, dword [eax + ecx*4]
add eax, dword [esp + 0x84]
mov ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb0], 0
cmp eax, 0
je 0x406085
jmp 0x405f3d
mov eax, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
jmp 0x406085
mov eax, dword [esp + 0x78]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xac]
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0xac]
mov dh, byte [esp + eax + 0x88]
mov byte [esp + 0xb5], dh
cmp dl, byte [esp + 0xb5]
sete dh
and dh, 1
mov byte [esp + 0x63], dh
cmp dl, 0
je 0x405e22
jmp 0x405eb2