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

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x48
push ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [ebx]
push ebp
mov ebp, dword [eax + 0x140]
push esi
mov esi, dword [ebx + 0xe0]
imul esi, esi, 0x2c
add esi, ebp
cmp esi, ecx
push edi
mov dl, 1
jne 0x49d45e
mov byte [ebx + 0x10a], dl
mov esi, dword [esp + 0x68]
mov byte [ebx + 0x10b], dl
cmp byte [esi], 0
jns 0x49d479
mov edi, dword [eax + 0x104]
mov dword [esp + 0x5c], edi
jmp 0x49d485
mov dword [esp + 0x5c], 0
mov edi, dword [esp + 0x5c]
lea eax, [edi + 2]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x70]
test al, al
je 0x49d4af
lea edx, [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x1c]
push eax
push edx
push esi
push ecx
call fcn.0049d740
add esp, 0x14
jmp 0x49d4c9
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x1c]
push edx
push eax
push esi
push ecx
push edi
call fcn.0049d670
add esp, 0x18
test eax, eax
jne 0x49d4d8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
movzx bp, byte [esi]
movzx cx, byte [esi + 1]
shl ebp, 8
add ebp, ecx
and ebp, 0x7fff
mov ecx, edi
neg ecx
sbb ecx, ecx
and ecx, 0x8000
mov dword [esp + 0x1c], ecx
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x70]
and ecx, 0xffff
mov byte [esi + 1], cl
shr ecx, 8
test edi, edi
mov byte [esi], cl
mov dword [esp + 0x10], eax
je 0x49d53f
mov ecx, edi
mov edx, ecx
mov esi, eax
sub esi, edi
mov edi, dword [ebx + 0xa0]
add edi, 2
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
push eax
push ebx
call fcn.004b3040
mov ecx, eax
and ecx, edx
add esp, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x49d568
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.004b1650
add esp, 0xc
push eax
push ebx
call fcn.004afbc0
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 + 0x20]
add esp, 0x20
test eax, eax
jne 0x49d5ad
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 + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, dword [ebx + 0xa0]
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 + 0xa0]
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x44]
push ecx
add edx, eax
push edx
push esi
call dword [esi + 0x28]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edx, dword [ebx + 0xa0]
add eax, ecx
add eax, dword [esp + 0x94]
add eax, ebp
and eax, 0xffff
mov byte [edx + 1], al
mov ecx, dword [ebx + 0xa0]
shr eax, 8
mov byte [ecx], al
mov edx, dword [ebx + 0xa0]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push esi
push ebx
call fcn.004b2e70
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