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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x479af8
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x493f58]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea edi, [esi + 0xb8]
mov dword [esp + 0x70], eax
mov edx, dword [edi + 4]
mov ecx, dword [edi]
cmp ecx, edx
je 0x41f5f9
mov eax, edx
cmp edx, edx
je 0x41f5f6
mov ebx, dword [eax]
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax + 8]
mov dword [ecx + 8], ebx
mov ebx, dword [eax + 0xc]
mov dword [ecx + 0xc], ebx
add eax, 0x10
add ecx, 0x10
cmp eax, edx
jne 0x41f5d6
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x94]
cmp ecx, 8
jb 0x41f60c
mov ebx, dword [esi + 0x80]
jmp 0x41f612
lea ebx, [esi + 0x80]
cmp ecx, 8
jb 0x41f61f
mov esi, dword [esi + 0x80]
jmp 0x41f622
sub esi, 0xffffff80
mov ecx, dword [ebp + 8]
add ecx, 4
cmp dword [ecx + 0x14], 8
jb 0x41f630
mov ecx, dword [ecx]
mov eax, dword [ebp + 8]
cmp byte [eax + 0x40], 0
sete dl
mov byte [esp + 0x10], dl
mov eax, dword [esp + 0x10]
push eax
push esi
lea edx, [esp + 0x4c]
push edx
call fcn.00422140
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0
test eax, eax
je 0x41f8d2
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x54]
lea eax, [esp + 0x44]
call fcn.00422120
lea eax, [esp + 0x1c]
push eax
xor edx, edx
mov ecx, esi
mov byte [esp + 0x74], 1
call fcn.0041e310
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x41f78e
mov dword [esp + 0x28], eax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2c], 0
mov dword [esp + 0x30], 0
cmp ecx, eax
jae 0x41f723
mov edx, dword [edi]
cmp edx, ecx
ja 0x41f723
mov ebx, ecx
mov ecx, dword [edi + 8]
sub ebx, edx
cmp eax, ecx
jne 0x41f6ff
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x41f92d
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f6ff
mov edx, ecx
shr edx, 1
mov esi, 0xfffffff
sub esi, edx
cmp esi, ecx
jae 0x41f6f0
xor ecx, ecx
jmp 0x41f6f2
add ecx, edx
cmp ecx, eax
jae 0x41f6f8
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
and ebx, 0xfffffff0
add ebx, dword [edi]
test eax, eax
je 0x41f786
mov edx, dword [ebx]
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x41f786
mov ecx, dword [edi + 8]
cmp eax, ecx
jne 0x41f768
mov edx, dword [edi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x41f92d
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f768
mov edx, ecx
shr edx, 1
mov esi, 0xfffffff
sub esi, edx
cmp esi, ecx
jae 0x41f759
xor ecx, ecx
jmp 0x41f75b
add ecx, edx
cmp ecx, eax
jae 0x41f761
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
test eax, eax
je 0x41f786
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ebx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
add dword [edi + 4], 0x10
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea eax, [ebx + eax*2]
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov byte [esp + 0x3c], 1
mov dword [esp + 0x40], ecx
cmp edx, eax
jae 0x41f830
mov edx, dword [edi]
lea ecx, [esp + 0x34]
cmp edx, ecx
ja 0x41f830
mov ebx, ecx
mov ecx, dword [edi + 8]
sub ebx, edx
cmp eax, ecx
jne 0x41f80a
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x41f92d
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f80a
mov edx, ecx
shr edx, 1
mov esi, 0xfffffff
sub esi, edx
cmp esi, ecx
jae 0x41f7fb
xor ecx, ecx
jmp 0x41f7fd
add ecx, edx
cmp ecx, eax
jae 0x41f803
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
and ebx, 0xfffffff0
add ebx, dword [edi]
xor esi, esi
cmp eax, esi
je 0x41f895
mov edx, dword [ebx]
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x41f895
mov ecx, dword [edi + 8]
cmp eax, ecx
jne 0x41f875
mov edx, dword [edi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
ja 0x41f92d
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f875
mov edx, ecx
shr edx, 1
mov esi, 0xfffffff
sub esi, edx
cmp esi, ecx
jae 0x41f866
xor ecx, ecx
jmp 0x41f868
add ecx, edx
cmp ecx, eax
jae 0x41f86e
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
xor esi, esi
cmp eax, esi
je 0x41f895
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ebx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
add dword [edi + 4], 0x10
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x41f8b3
push eax
call fcn.0044bc75
add esp, 4
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x18]
jb 0x41f662
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41f8d7
sub eax, edx
sar eax, 1
je 0x41f9f8
lea eax, [ebx + eax*2]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 4]
mov byte [esp + 0x3c], cl
lea ecx, [esp + 0x34]
mov esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], 0
cmp ecx, eax
jae 0x41f98b
mov edx, dword [edi]
cmp edx, ecx
ja 0x41f98b
mov ebx, ecx
mov ecx, dword [edi + 8]
sub ebx, edx
cmp eax, ecx
jne 0x41f963
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
jbe 0x41f937
push str.vector_T__too_long
call fcn.00432111
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f963
mov edx, ecx
shr edx, 1
mov esi, 0xfffffff
sub esi, edx
cmp esi, ecx
jae 0x41f954
xor ecx, ecx
jmp 0x41f956
add ecx, edx
cmp ecx, eax
jae 0x41f95c
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
and ebx, 0xfffffff0
add ebx, dword [edi]
test eax, eax
je 0x41f9f4
mov edx, dword [ebx]
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x41f9f4
mov ecx, dword [edi + 8]
cmp eax, ecx
jne 0x41f9d6
mov edx, dword [edi]
sub eax, edx
sar eax, 4
cmp eax, 0xffffffe
jbe 0x41f9aa
push str.vector_T__too_long
call fcn.00432111
sub ecx, edx
inc eax
sar ecx, 4
cmp eax, ecx
jbe 0x41f9d6
mov edx, ecx
shr edx, 1
mov ebx, 0xfffffff
sub ebx, edx
cmp ebx, ecx
jae 0x41f9c7
xor ecx, ecx
jmp 0x41f9c9
add ecx, edx
cmp ecx, eax
jae 0x41f9cf
mov ecx, eax
mov edx, edi
call fcn.0041ee90
mov eax, dword [edi + 4]
test eax, eax
je 0x41f9f4
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
add dword [edi + 4], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xbc]
mov edi, dword [edi]
mov dword [esp + 0x18], eax
cmp edi, eax
je 0x41fadd
nop
cmp byte [edi + 8], 0
mov ebx, dword [ebp + 8]
je 0x41fa8d
inc dword [ebx + 0x78]
cmp byte [edi + 8], 0
je 0x41fa8d
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x41fa2e
cmp dword [ebx + 0x78], eax
jne 0x41fa8d
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x6c]
mov esi, dword [ecx]
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esi + 0x10]
push edx
mov edx, dword [ebx + 0x74]
push edx
call eax
mov ecx, dword [edi + 0xc]
lea esi, [esp + 0x54]
lea eax, [esp + 0x44]
call fcn.00422120
push eax
mov ecx, ebx
mov byte [esp + 0x74], 2
call fcn.0041fb40
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x54]
xor esi, esi
cmp eax, esi
je 0x41fa7f
push eax
call fcn.0044bc75
add esp, 4
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
jmp 0x41fad0
mov eax, dword [edi + 4]
mov esi, dword [edi]
sub eax, esi
sar eax, 1
test eax, eax
jle 0x41fab7
mov dword [esp + 0x10], eax
mov edi, edi
mov ecx, dword [ebx + 0x64]
movzx eax, word [esi]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
call edx
add esi, 2
dec dword [esp + 0x10]
jne 0x41faa0
mov eax, dword [edi]
mov esi, dword [edi + 4]
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
sub esi, eax
sar esi, 1
push esi
push eax
mov eax, dword [ebx + 0x74]
push eax
call edx
add edi, 0x10
cmp edi, dword [esp + 0x18]
jne 0x41fa10
mov ecx, dword [esp + 0x44]
xor ebx, ebx
cmp ecx, ebx
je 0x41fb1c
mov edi, dword [esp + 0x48]
mov esi, ecx
cmp ecx, edi
je 0x41fb13
mov eax, dword [esi]
cmp eax, ebx
je 0x41fb04
push eax
call fcn.0044bc75
mov ecx, dword [esp + 0x48]
add esp, 4
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
add esi, 0x10
cmp esi, edi
jne 0x41faf1
push ecx
call fcn.0044bc75
add esp, 4
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4