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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa30
mov edi, edx
mov esi, ecx
cmp byte [edx], 0
je 0x49df90
mov ecx, edi
call fcn.0043b4a0
mov ecx, eax
push 5
push 0x5702db
call fcn.004c55f1
pop ecx
pop edx
jmp 0x49df92
xor eax, eax
test al, al
jne 0x49dfcb
cmp byte [esi + 0x20], 0
je 0x49dfcb
push 0xc
pop ecx
push 4
pop edx
call fcn.0049a4ee
mov ebx, eax
mov dword [eax], 1
mov dword [eax + 4], 0x540468
mov byte [eax + 8], 0
mov ecx, edi
call fcn.00471097
mov edx, 0x541f90
jmp 0x49e176
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
mov ecx, edi
call fcn.0049e180
test eax, eax
mov ecx, str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
cmovne ecx, eax
cmove edx, eax
lea eax, [ecx + edx]
lea esi, [esp + 0x78]
mov dword [esi - 8], ecx
mov dword [esi - 4], edx
mov dword [esp + 0xc], ecx
mov dword [esi], ecx
mov dword [esi + 4], eax
and dword [esi + 8], 0
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
lea ecx, [esp + 0x78]
call fcn.0041858e
cmp edx, 0x110000
je 0x49e03d
add edx, 0xffffffa5
test edx, 0xfffffffd
je 0x49e005
mov esi, eax
sub edi, ebx
add edi, eax
add edi, dword [esp + 0x78]
sub edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
jmp 0x49e047
xor esi, esi
mov dword [esp + 8], 0
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
lea ecx, [esp + 0x78]
call fcn.0047a285
cmp edx, 0x110000
je 0x49e079
add edx, 0xffffffa5
test edx, 0xfffffffd
je 0x49e047
sub ebx, edi
add ebx, eax
add ebx, dword [esp + 0x78]
sub ebx, dword [esp + 0x7c]
jmp 0x49e07d
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
add edi, esi
sub ebx, esi
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.004ba184
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
push ebx
push edi
push eax
call fcn.004f7e80
add esp, 0xc
mov edi, dword [esp + 0x18]
lea edx, [edi + 0x14]
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [eax + 0x1c]
movups xmmword [esp + 0x3c], xmm0
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movaps xmmword [esp + 0x30], xmm1
movaps xmmword [esp + 0x20], xmm0
lea esi, [esp + 0x9f0]
mov ecx, esi
call fcn.004a15f7
movups xmm0, xmmword [esp + 0x3c]
movups xmmword [esi + 0x28], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmm1, xmmword [esp + 0x30]
movups xmmword [esi + 0x1c], xmm1
movups xmmword [esi + 0xc], xmm0
push 8
pop ebx
mov ecx, 0x9c0
mov edx, ebx
call fcn.0049a4ee
mov esi, eax
lea eax, [esp + 0x70]
push 0x9b8
push eax
push esi
call fcn.004f7e80
add esp, 0xc
xor eax, eax
mov byte [esi + 0x9b8], al
lea ecx, [esp + 0x58]
mov edx, edi
call fcn.0049e193
mov ecx, 0x1f8
mov edx, ebx
call fcn.0049a4ee
mov ebx, eax
lea eax, [esp + 0x58]
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], 0x5401f8
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x1c]
mov byte [ebx + 0x28], al
xor eax, eax
mov byte [ebx + 0x29], al
mov edx, 0x5400f4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret