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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x7c]
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x80]
mov word [esp + 0x22], dx
mov edx, 0xffffffff
cmp word [esp + 0x24], 1
mov word [eax], dx
mov eax, dword [esp + 0x90]
mov edx, 0xffffffff
mov word [esp + 0x30], si
mov word [eax], dx
movsx edx, byte [esp + 0x98]
movsx eax, di
mov dword [esp + 0x2c], eax
movsx eax, bp
mov dword [esp + 0x38], edx
movsx edx, byte [esp + 0x84]
mov dword [esp + 0x34], eax
movsx eax, word [esp + 0x9c]
mov dword [esp + 0x3c], edx
movsx edx, byte [esp + 0x78]
mov word [esp + 0x48], bx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
jne 0x41b8e8
cmp word [esp + 0x28], 1
jne 0x41b8e8
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
movsx eax, bx
mov dword [esp + 0x10], eax
movsx eax, si
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0041b670
sub esp, 0x20
test eax, eax
je 0x41b8db
mov eax, dword [esp + 0x90]
mov word [eax], si
mov eax, dword [esp + 0x94]
mov word [eax], bx
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x30
movzx eax, word [esp + 0x24]
mov word [esp + 0x4e], si
sub eax, 1
mov word [esp + 0x50], ax
movzx eax, word [esp + 0x28]
sub eax, 1
mov word [esp + 0x28], ax
cmp di, si
jg 0x41bb60
xor eax, eax
movsx esi, si
xor edx, edx
mov word [esp + 0x24], ax
mov word [esp + 0x4c], bx
cmp bp, bx
jg 0x41bb9a
movsx ebx, bx
xor edi, edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0041b670
sub esp, 0x20
test eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
jne 0x41bc83
cmp word [esp + 0x24], 0
jne 0x41bc06
cmp dx, 1
sbb eax, eax
and eax, 2
sub eax, 1
mov word [esp + 0x28], ax
xor eax, eax
cmp di, 1
mov word [esp + 0x30], ax
sbb eax, eax
and eax, 2
sub eax, 1
mov word [esp + 0x32], ax
movzx eax, word [esp + 0x28]
movzx esi, word [esp + 0x30]
mov dword [esp + 0x50], ecx
mov ebp, edi
lea ebx, [edx + eax]
add esi, edi
jmp 0x41ba84
mov eax, ebx
or ax, si
js 0x41ba8f
cmp word [esp + 0x22], si
jle 0x41ba8f
movzx eax, word [esp + 0x4c]
mov dword [esp + 0x48], edx
lea edi, [esi + eax]
movzx eax, word [esp + 0x4e]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x44]
mov word [esp + 0x54], cx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
movsx eax, di
mov dword [esp + 0x10], eax
movsx eax, cx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0041b670
sub esp, 0x20
test eax, eax
mov edx, dword [esp + 0x48]
jne 0x41bb2f
movzx eax, word [esp + 0x24]
lea ecx, [edx + eax]
movzx eax, word [esp + 0x32]
mov edx, ecx
add eax, ebp
mov ebp, eax
cmp word [esp + 0x20], cx
jg 0x41bd0e
add bx, word [esp + 0x28]
add si, word [esp + 0x30]
cmp word [esp + 0x20], bx
jg 0x41b9d8
movzx eax, word [esp + 0x24]
lea ecx, [edx + eax]
movzx eax, word [esp + 0x32]
mov edx, ecx
add eax, ebp
mov ebp, eax
cmp word [esp + 0x20], cx
jle 0x41bcb0
mov edi, ecx
or di, ax
js 0x41bcb0
cmp word [esp + 0x22], ax
jle 0x41bcb0
movzx edi, word [esp + 0x4c]
mov dword [esp + 0x48], edx
movzx edx, word [esp + 0x4e]
add edi, eax
mov eax, dword [esp + 0x44]
add edx, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov word [esp + 0x54], dx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
movsx eax, di
mov dword [esp + 0x10], eax
movsx eax, dx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0041b670
sub esp, 0x20
test eax, eax
mov edx, dword [esp + 0x48]
je 0x41ba7a
movzx ebp, word [esp + 0x54]
mov eax, dword [esp + 0x90]
mov word [eax], bp
mov eax, dword [esp + 0x94]
mov word [eax], di
add esp, 0x5c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret 0x30
movsx edx, word [esp + 0x50]
movsx eax, si
add eax, edx
cmp eax, dword [esp + 0x2c]
jg 0x41bc48
movzx edx, word [esp + 0x50]
mov eax, esi
mov word [esp + 0x4c], bx
add eax, edx
mov word [esp + 0x30], ax
movsx esi, ax
xor eax, eax
mov word [esp + 0x24], ax
cmp bp, bx
jle 0x41b92a
movsx edi, word [esp + 0x28]
movsx eax, bx
add eax, edi
cmp eax, dword [esp + 0x34]
jle 0x41bc68
mov eax, ebp
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x40]
sub eax, ebx
mov dword [esp + 0x54], edx
mov edi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
movsx eax, bp
mov dword [esp + 0x10], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0041b670
sub esp, 0x20
test eax, eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
jne 0x41bc7e
test dx, dx
je 0x41bcc0
cmp dx, word [esp + 0x50]
je 0x41bcc0
test di, di
je 0x41bce7
movzx esi, word [esp + 0x28]
cmp di, si
je 0x41bce7
xor ebx, ebx
xor esi, esi
mov word [esp + 0x28], bx
mov word [esp + 0x30], si
jmp 0x41b9bb
mov edx, edi
mov word [esp + 0x30], di
sub edx, esi
movsx esi, di
mov edi, 1
mov word [esp + 0x24], di
jmp 0x41b91c
movzx eax, word [esp + 0x28]
add ebx, eax
mov edi, eax
mov word [esp + 0x48], bx
movsx ebx, bx
jmp 0x41b92f
mov word [esp + 0x48], bp
mov eax, dword [esp + 0x90]
movzx esi, word [esp + 0x30]
mov word [eax], si
mov eax, dword [esp + 0x94]
movzx esi, word [esp + 0x48]
mov word [eax], si
add esp, 0x5c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret 0x30
add esp, 0x5c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x30
xor eax, eax
mov word [esp + 0x30], ax
mov eax, 1
mov word [esp + 0x28], ax
xor eax, eax
mov word [esp + 0x32], ax
mov eax, 0xffffffff
mov word [esp + 0x24], ax
jmp 0x41b9bb
mov eax, 1
xor ebx, ebx
mov esi, 0xffffffff
xor ebp, ebp
mov word [esp + 0x30], ax
mov word [esp + 0x28], bx
mov word [esp + 0x32], si
mov word [esp + 0x24], bp
jmp 0x41b9bb
mov edi, ecx
or di, ax
js 0x41ba7a
cmp word [esp + 0x22], ax
jg 0x41bac3
jmp 0x41ba7a