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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0x28]
xor eax, eax
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp + 0x28], ebx
cmp byte [esi + 0x49], 4
mov eax, dword [esi]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], eax
jne 0x49f8bc
mov eax, dword [esi + 0x44]
jmp 0x49fa4c
push esi
push dword [esi + 0x3c]
push eax
call fcn.0049b0d6
add esp, 0xc
test eax, eax
jne 0x49fa4c
xor edx, edx
push edi
mov edi, dword [ebp + 0x14]
cmp dword [esi + 0x10], edx
jne 0x49f919
push edx
push edi
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.004932b3
add esp, 0x10
test byte [esi + 0x48], 2
je 0x49f919
xor edx, edx
cmp edi, edx
jl 0x49f919
jg 0x49f8ff
cmp dword [ebp + 0x10], edx
jbe 0x49f919
mov eax, dword [ebp + 0x10]
mov ecx, edi
sub eax, 1
sbb ecx, edx
cmp dword [esi + 0x18], eax
jne 0x49f919
cmp dword [esi + 0x1c], ecx
jne 0x49f919
or ebx, 0xffffffff
mov dword [ebp + 0x28], ebx
test ebx, ebx
jne 0x49f93f
lea eax, [ebp + 0x28]
push eax
push dword [ebp + 0x24]
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.00489523
add esp, 0x18
test eax, eax
jne 0x49fa4b
mov ebx, dword [ebp + 0x28]
movsx eax, word [esi + 0x4c]
lea ecx, [ebp - 8]
push ecx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
mov edi, dword [esi + eax*4 + 0x78]
push dword [ebp + 0x18]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [eax + 0x50]
push dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
push eax
push edi
call fcn.0048ffa8
mov ecx, eax
add esp, 0x24
mov dword [ebp + 8], ecx
test ecx, ecx
jne 0x49fa49
movsx ecx, word [esi + 0x4c]
movzx edx, word [esi + ecx*2 + 0x4e]
mov eax, edx
mov dword [ebp - 4], eax
test ebx, ebx
jne 0x49fa52
push dword [edi + 0x44]
call fcn.004ad8d9
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x49fa49
mov eax, dword [edi + 0x40]
mov ecx, dword [ebp - 4]
movzx ebx, byte [eax + ecx*2]
movzx eax, byte [eax + ecx*2 + 1]
shl ebx, 8
or ebx, eax
movzx eax, word [edi + 0x14]
and ebx, eax
add ebx, dword [edi + 0x38]
cmp byte [edi + 5], 0
jne 0x49f9d7
push 4
push ebx
push dword [ebp - 0xc]
call fcn.00689000
add esp, 0xc
lea eax, [ebp + 0x28]
push eax
push ebx
push edi
call fcn.0048a56e
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
movzx eax, word [ebp + 0x28]
push eax
push dword [ebp - 4]
push edi
call fcn.0048e204
mov ecx, dword [ebp + 8]
add esp, 0x1c
test ecx, ecx
jne 0x49fa49
mov eax, dword [ebp - 4]
xor ebx, ebx
lea ecx, [ebp + 8]
push ecx
push ebx
push ebx
push dword [ebp - 8]
push dword [ebp - 0xc]
push eax
push edi
call fcn.004930f9
mov ecx, dword [ebp + 8]
xor eax, eax
add esp, 0x1c
mov word [esi + 0x2c], ax
test ecx, ecx
jne 0x49fa49
cmp byte [edi + 1], al
je 0x49fa49
and byte [esi + 0x48], 0xfd
push esi
call fcn.004878eb
pop ecx
mov ecx, eax
movsx eax, word [esi + 0x4c]
mov eax, dword [esi + eax*4 + 0x78]
mov byte [eax + 1], bl
mov byte [esi + 0x49], bl
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jns 0x49fa04
xor ebx, ebx
cmp word [edi + 0x12], bx
jbe 0x49fa06
lea eax, [edx + 1]
mov word [esi + ecx*2 + 0x4e], ax
movzx eax, ax
jmp 0x49fa06