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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov esi, edx
mov edx, ecx
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x14], edx
cmp edi, 0xa
jb 0x41183c
lea eax, [edx + esi]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
add ebx, 4
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
mov dword [esp + 0x38], ecx
movzx ecx, word [eax + 2]
mov dword [esp + 0x18], ecx
movzx ecx, word [eax + 4]
sub edi, ecx
mov dword [esp + 0x20], ecx
movzx ecx, word [eax]
add eax, 6
sub edi, dword [esp + 0x18]
sub edi, ecx
mov dword [esp + 0x3c], eax
add ecx, eax
sub edi, 6
lea eax, [esi + 3]
mov dword [esp + 0x1c], ecx
shr eax, 2
mov dword [esp + 0x34], edi
lea ecx, [eax + edx]
lea edx, [ecx + eax]
mov dword [esp + 0x40], ecx
add eax, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], edx
call fcn.00403770
mov esi, dword [esp + 0x34]
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x24], eax
cmp esi, dword [ebp + 0xc]
ja 0x41183c
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00410800
add esp, 4
mov ecx, eax
call fcn.00403750
test eax, eax
je 0x411596
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x18]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x5c]
call fcn.00410800
add esp, 4
mov ecx, eax
call fcn.00403750
test eax, eax
jne 0x41158d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push dword [esp + 0x20]
lea edx, [edx + ecx]
lea ecx, [esp + 0x6c]
call fcn.00410800
add esp, 4
mov ecx, eax
call fcn.00403750
test eax, eax
jne 0x41158d
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x20]
add edx, dword [esp + 0x1c]
push esi
lea edx, [edx + eax]
call fcn.00410800
add esp, 4
mov ecx, eax
call fcn.00403750
test eax, eax
jne 0x41158d
lea ecx, [esp + 0x78]
call fcn.00409550
lea ecx, [esp + 0x68]
mov esi, eax
call fcn.00409550
lea ecx, [esp + 0x58]
or esi, eax
call fcn.00409550
lea ecx, [esp + 0x48]
or esi, eax
call fcn.00409550
or esi, eax
jne 0x411736
mov eax, dword [esp + 0x30]
add eax, 0xfffffff9
mov dword [esp + 0x3c], eax
nop
cmp edi, eax
jae 0x411736
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x48]
push esi
mov edx, ebx
call fcn.0040a630
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x58]
push esi
call fcn.0040a630
mov ecx, dword [esp + 0x10]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x68]
push esi
call fcn.0040a630
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x78]
push esi
call fcn.0040a630
add esp, 4
mov byte [edi], al
lea ecx, [esp + 0x48]
push esi
call fcn.0040a630
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x58]
push esi
call fcn.0040a630
mov ecx, dword [esp + 0x10]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x68]
push esi
call fcn.0040a630
mov ecx, dword [esp + 0x14]
add esp, 4
mov byte [ecx], al
inc ecx
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x78]
push esi
call fcn.0040a630
add esp, 4
mov byte [edi + 1], al
lea ecx, [esp + 0x78]
add edi, 2
call fcn.00409550
lea ecx, [esp + 0x68]
mov esi, eax
call fcn.00409550
lea ecx, [esp + 0x58]
or esi, eax
call fcn.00409550
lea ecx, [esp + 0x48]
or esi, eax
call fcn.00409550
or esi, eax
mov eax, dword [esp + 0x3c]
je 0x411640
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
cmp ecx, eax
ja 0x41183c
mov edx, dword [esp + 0x28]
cmp dword [esp + 0xc], edx
ja 0x41183c
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x10], edx
ja 0x41183c
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x48]
push esi
push ebx
push eax
call fcn.0040a660
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x64]
add esp, 0xc
push esi
push ebx
push dword [esp + 0x30]
call fcn.0040a660
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x74]
add esp, 0xc
push esi
push ebx
push dword [esp + 0x34]
call fcn.0040a660
add esp, 0xc
lea edx, [esp + 0x78]
mov ecx, edi
push esi
push ebx
push dword [esp + 0x38]
call fcn.0040a660
mov eax, dword [esp + 0x5c]
add esp, 0xc
cmp eax, dword [esp + 0x54]
jne 0x4117cd
cmp dword [esp + 0x4c], 0x20
jne 0x4117cd
mov ecx, 1
jmp 0x4117cf
xor ecx, ecx
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x64]
jne 0x4117e7
cmp dword [esp + 0x5c], 0x20
jne 0x4117e7
mov edx, 1
jmp 0x4117e9
xor edx, edx
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x74]
jne 0x411801
cmp dword [esp + 0x6c], 0x20
jne 0x411801
mov esi, 1
jmp 0x411803
xor esi, esi
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x84]
jne 0x411821
cmp dword [esp + 0x7c], 0x20
jne 0x411821
mov eax, 1
jmp 0x411823
xor eax, eax
and eax, esi
and eax, edx
test ecx, eax
mov eax, dword [esp + 0x44]
mov ecx, 0xffffffec
cmove eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffec
pop ebx
mov esp, ebp
pop ebp
ret