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

Disassembly:
sub esp, 0xf0
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x178]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x100]
push edi
mov edi, dword [esp + 0x17c]
sub esp, 8
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x194]
mov dword [ecx + 4], eax
lea eax, [esp + 0x34]
push eax
call fcn.004ed380
mov eax, dword [edi]
xorps xmm0, xmm0
mov dl, byte [esp + 0x19c]
add esp, 0xc
mov ebx, dword [edi + 4]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x6c], eax
xor eax, eax
movlpd qword [esp + 0x14], xmm0
mov byte [esp + 0x90], dl
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x14]
mov byte [esp + 0x74], dl
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x91], 0
mov dword [esp + 0x70], ecx
mov byte [esp + 0x75], 0
cmp ebp, dword [esp + 0x30]
je 0x4f172a
lea ebx, [ebp + 0x13]
cmp byte [ebx + 5], 0
je 0x4f179c
mov al, byte [ebx]
mov byte [esp + 0x24], al
movzx eax, al
mov dword [esp + 0x28], 0x10
sub eax, 0
jne 0x4f1208
mov dword [esp + 0x28], 8
mov al, byte [ebx - 3]
mov ecx, dword [ebx - 0xf]
mov ebp, dword [ebx - 0x13]
mov byte [esp + 0x13], al
mov dword [esp + 0x1c], ecx
cmp al, 5
jb 0x4f1236
xor eax, eax
cmp byte [esp + 0x24], al
setne al
lea eax, [eax*8 + 8]
sub ebp, eax
sbb ecx, 0
mov dword [esp + 0x1c], ecx
cmp edx, ecx
jb 0x4f13b3
ja 0x4f1248
cmp edi, ebp
jbe 0x4f13a5
mov edi, dword [esp + 0x170]
call fcn.00415dfc
push 0
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x50]
push 0
lea eax, [esp + 0xec]
mov dword [esp + 0x80], 0x16
push 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0x924694
mov dword [esp + 0x74], eax
call fcn.0040826f
lea eax, [esp + 0x9c]
mov dword [esp + 0xa0], str.overlapping_contributions_to_string_offsets_table_in_section_._s.
push eax
lea ecx, [esp + 0x50]
mov dword [esp + 0xa0], 0x927524
mov dword [esp + 0xa8], edi
call fcn.0040c69e
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x50]
je 0x4f1317
lea ecx, [esp + 0x4c]
call fcn.004067b2
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x6c]
lea eax, [esp + 0x28]
push eax
call fcn.00408deb
add esp, 0xc
lea ecx, [esp + 0x4c]
call fcn.0040934a
mov edx, dword [esp + 0xf8]
cmp edx, 0x10
jb 0x4f1372
mov ecx, dword [esp + 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4f1368
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f1928
push edx
push ecx
call fcn.004036ca
add esp, 8
mov ecx, dword [esp + 0x144]
test ecx, ecx
je 0x4f192e
mov eax, dword [ecx]
lea edx, [esp + 0x20]
push edx
call dword [eax + 8]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4f1399
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, ecx
ja 0x4f142a
jb 0x4f13b3
cmp edi, ebp
jae 0x4f142a
lea eax, [esp + 0xb4]
mov dword [esp + 0xb8], str.0x_8.8llx:_Gap__length_
push eax
mov ecx, esi
mov dword [esp + 0xb8], 0x92fa18
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], edx
call fcn.0040c69e
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ecx, dword [esp + 0x14]
sbb eax, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.0040b5be
mov edx, eax
mov ecx, dword [edx + 8]
mov edi, dword [edx + 0xc]
sub ecx, edi
cmp ecx, 1
jae 0x4f141c
push 1
push 0x92406c
mov ecx, edx
call fcn.0041214d
jmp 0x4f1426
mov al, byte [0x92406c]
mov byte [edi], al
inc dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xc4]
mov dword [esp + 0xd0], ecx
push eax
mov ecx, esi
mov dword [esp + 0xcc], 0x92fb58
mov dword [esp + 0xc8], 0x92fa18
mov dword [esp + 0xd0], ebp
call fcn.0040c69e
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 0x14
jae 0x4f147c
push 0x14
push str.Contribution_size_
mov ecx, esi
call fcn.0041214d
mov edx, eax
jmp 0x4f1494
movups xmm0, xmmword [str.Contribution_size_]
mov edx, esi
movups xmmword [ecx], xmm0
mov eax, dword [0x92fb78]
mov dword [ecx + 0x10], eax
add dword [esi + 0xc], 0x14
cmp byte [esp + 0x13], 5
sbb ecx, ecx
xor eax, eax
and ecx, 0xfffffffc
add ecx, 4
add ecx, dword [ebx - 0xb]
adc eax, dword [ebx - 7]
push eax
push ecx
mov ecx, edx
call fcn.0040b5be
mov edi, eax
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
sub eax, ecx
cmp eax, 0xb
jae 0x4f14d3
push 0xb
push str.__Format_
mov ecx, edi
call fcn.0041214d
mov edi, eax
jmp 0x4f14f5
movq xmm0, qword [str.__Format_]
movq qword [ecx], xmm0
mov ax, word [0x92fb8c]
mov word [ecx + 8], ax
mov al, byte [0x92fb8e]
mov byte [ecx + 0xa], al
add dword [edi + 0xc], 0xb
push dword [esp + 0x24]
lea eax, [esp + 0xd8]
push eax
call fcn.00403215
mov edx, dword [edi + 0xc]
add esp, 8
mov ebp, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [edi + 8]
sub eax, edx
cmp ebp, eax
jbe 0x4f1527
push ebp
push ecx
mov ecx, edi
call fcn.0041214d
mov edi, eax
jmp 0x4f1539
test ebp, ebp
je 0x4f1539
push ebp
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [edi + 0xc], ebp
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
sub eax, ecx
cmp eax, 0xc
jae 0x4f1558
push 0xc
push 0x92fb94
mov ecx, edi
call fcn.0041214d
mov edi, eax
jmp 0x4f1570
movq xmm0, qword [0x92fb94]
movq qword [ecx], xmm0
mov eax, dword [0x92fb9c]
mov dword [ecx + 8], eax
add dword [edi + 0xc], 0xc
movzx eax, byte [esp + 0x13]
mov ecx, edi
push eax
call fcn.0040517d
mov edx, eax
mov ecx, dword [edx + 8]
mov edi, dword [edx + 0xc]
sub ecx, edi
cmp ecx, 1
jae 0x4f159c
push 1
push 0x92406c
mov ecx, edx
call fcn.0041214d
jmp 0x4f15a6
mov al, byte [0x92406c]
mov byte [edi], al
inc dword [edx + 0xc]
mov edi, dword [ebx - 0x13]
mov ebp, 8
mov edx, dword [ebx - 0xf]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
movzx eax, byte [ebx]
sub eax, 0
jne 0x4f15c6
mov ebp, 4
mov ecx, edi
mov eax, edx
sub ecx, dword [ebx - 0x13]
sbb eax, dword [ebx - 0xf]
cmp eax, dword [ebx - 7]
ja 0x4f1710
jb 0x4f15f0
cmp ecx, dword [ebx - 0xb]
jae 0x4f1710
nop dword [eax]
nop dword [eax + eax]
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0x92fb58
push eax
mov ecx, esi
mov dword [esp + 0x3c], 0x92fa18
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edx
call fcn.0040c69e
push 0
push 0
lea eax, [esp + 0x1c]
push eax
push ebp
lea ecx, [esp + 0x98]
call fcn.0041562c
mov dword [esp + 0x80], eax
mov ecx, esi
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xe4]
push eax
mov dword [esp + 0x88], edx
mov dword [esp + 0xec], str._0llx
mov dword [esp + 0xe8], 0x92fa8c
mov dword [esp + 0xf4], edx
call fcn.0040c69e
push 0
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x78]
call fcn.0040a619
mov eax, dword [eax]
test eax, eax
je 0x4f16c3
mov dword [esp + 0xb0], eax
mov ecx, esi
lea eax, [esp + 0xa8]
mov dword [esp + 0xac], 0x92fbb0
push eax
mov dword [esp + 0xac], 0x927524
call fcn.0040c69e
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 1
jae 0x4f16e0
push 1
push 0x92406c
mov ecx, esi
call fcn.0041214d
jmp 0x4f16ea
mov al, byte [0x92406c]
mov byte [ecx], al
inc dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov ecx, edi
sub ecx, dword [ebx - 0x13]
mov edx, dword [esp + 0x18]
mov eax, edx
sbb eax, dword [ebx - 0xf]
cmp eax, dword [ebx - 7]
jb 0x4f15f0
ja 0x4f1710
cmp ecx, dword [ebx - 0xb]
jb 0x4f15f0
add ebx, 0x20
lea eax, [ebx - 0x13]
cmp eax, dword [esp + 0x30]
jne 0x4f11e0
mov ebp, dword [esp + 0x2c]
xor eax, eax
mov ebx, dword [esp + 0x48]
cmp edx, eax
ja 0x4f18f9
jb 0x4f173c
cmp edi, ebx
jae 0x4f18f9
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], str.0x_8.8llx:_Gap__length_
push eax
mov ecx, esi
mov dword [esp + 0x3c], 0x92fa18
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edx
call fcn.0040c69e
sub ebx, dword [esp + 0x14]
mov eax, 0
mov ecx, esi
sbb eax, dword [esp + 0x18]
push eax
push ebx
call fcn.0040b5be
mov edx, eax
mov ecx, dword [edx + 8]
mov esi, dword [edx + 0xc]
sub ecx, esi
cmp ecx, 1
jae 0x4f18ef
push 1
push 0x92406c
mov ecx, edx
call fcn.0041214d
jmp 0x4f18f9
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 0x40
jae 0x4f17bb
push 0x40
push str.error:_invalid_contribution_to_string_offsets_table_in_section_.
mov ecx, esi
call fcn.0041214d
mov esi, eax
jmp 0x4f17ea
movups xmm0, xmmword [str.error:_invalid_contribution_to_string_offsets_table_in_section_.]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x92faa8]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [0x92fab8]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [0x92fac8]
movups xmmword [ecx + 0x30], xmm0
add dword [esi + 0xc], 0x40
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
mov edi, dword [esp + 0x174]
cmp edi, eax
jbe 0x4f1810
push edi
push dword [esp + 0x174]
mov ecx, esi
call fcn.0041214d
mov esi, eax
jmp 0x4f1828
test edi, edi
je 0x4f1828
push edi
push dword [esp + 0x174]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 0xc], edi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 2
jae 0x4f1845
push 2
push 0x92515c
mov ecx, esi
call fcn.0041214d
jmp 0x4f1852
mov ax, word [0x92515c]
mov word [ecx], ax
add dword [esi + 0xc], 2
mov ebp, dword [esp + 0x2c]
test ebp, ebp
je 0x4f188b
mov ecx, dword [esp + 0x34]
mov eax, ebp
sub ecx, ebp
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x4f1881
mov ebp, dword [ebp - 4]
add ecx, 0x23
sub eax, ebp
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f1928
push ecx
push ebp
call fcn.004036ca
add esp, 8
mov ecx, dword [esp + 0x16c]
test ecx, ecx
je 0x4f18b6
mov edx, dword [ecx]
lea eax, [esp + 0x148]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esp + 0x16c], 0
mov ecx, dword [esp + 0x144]
test ecx, ecx
je 0x4f18d6
mov edx, dword [ecx]
lea eax, [esp + 0x120]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0xf0
ret
mov al, byte [0x92406c]
mov byte [esi], al
inc dword [edx + 0xc]
test ebp, ebp
je 0x4f188b
mov ecx, dword [esp + 0x34]
mov eax, ebp
sub ecx, ebp
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x4f1881
mov ebp, dword [ebp - 4]
add ecx, 0x23
sub eax, ebp
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4f1881
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3