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

Disassembly:
sub esp, 0x48
push ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [ebx + 0xdc]
mov ecx, dword [ebx]
push ebp
mov ebp, dword [ecx + 0x148]
push esi
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x5c]
shl esi, 4
add esi, ebp
cmp esi, eax
push edi
mov dl, 1
jne 0x41d461
mov byte [ebx + 0x1b6], dl
mov esi, dword [esp + 0x68]
mov byte [ebx + 0x1b7], dl
cmp byte [esi], 0
jns 0x41d47c
mov edi, dword [ecx + 0x10c]
mov dword [esp + 0x5c], edi
jmp 0x41d488
mov dword [esp + 0x5c], 0
mov edi, dword [esp + 0x5c]
lea ecx, [edi + 2]
mov dword [esp + 0x14], ecx
mov cl, byte [esp + 0x70]
test cl, cl
je 0x41d4b2
lea edx, [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x1c]
push ecx
push edx
push esi
push eax
call fcn.0041d720
add esp, 0x14
jmp 0x41d4cc
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x1c]
push edx
push ecx
push esi
push eax
push edi
call fcn.0041d660
add esp, 0x18
test eax, eax
jne 0x41d4db
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
movzx bp, byte [esi]
movzx dx, byte [esi + 1]
mov ecx, edi
shl ebp, 8
add ebp, edx
and ebp, 0x7fff
neg ecx
sbb ecx, ecx
and ecx, 0x8000
mov dword [esp + 0x1c], ecx
sub ecx, esi
add ecx, eax
xor eax, eax
mov ax, cx
mov byte [esi + 1], al
shr eax, 8
test edi, edi
mov byte [esi], al
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
je 0x41d53e
mov ecx, edi
mov esi, eax
sub esi, edi
mov edi, dword [ebx + 0x58]
mov eax, ecx
add edi, 2
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
push ecx
push ebx
call fcn.00416180
mov ecx, eax
and ecx, edx
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x41d567
pop edi
pop esi
pop ebp
or eax, ecx
pop ebx
add esp, 0x48
ret
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x6c]
push edx
push eax
push ecx
call fcn.004120b0
add esp, 0xc
push eax
push ebx
call fcn.00410580
mov edx, dword [esp + 0x7c]
push edx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x78]
push edi
push eax
call dword [eax + 0x24]
add esp, 0x20
test eax, eax
jne 0x41d5ac
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x28]
push ecx
push edx
push 0
push 0
push 0
push edi
push eax
call dword [eax + 0x28]
mov edx, dword [esp + 0x2c]
mov edi, dword [ebx + 0x58]
sub ebp, edx
add ebp, esi
mov esi, edx
add edi, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x30]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
add edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0x58]
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x44]
push ecx
add edx, eax
push edx
push esi
call dword [esi + 0x2c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x94]
mov edx, dword [ebx + 0x58]
add eax, ecx
add eax, edi
add eax, ebp
movzx eax, ax
mov byte [edx + 1], al
mov ecx, dword [ebx + 0x58]
shr eax, 8
mov byte [ecx], al
mov edx, dword [ebx + 0x58]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push esi
push ebx
call fcn.00415fc0
add esp, 0x3c
neg eax
pop edi
sbb eax, eax
pop esi
and eax, 0xfffffffd
pop ebp
add eax, 2
pop ebx
add esp, 0x48
ret