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

Disassembly:
mov eax, 0x2070
call fcn.00428ee0
mov eax, dword [0x43c034]
xor eax, esp
mov dword [esp + 0x206c], eax
mov eax, dword [esp + 0x2078]
push ebx
mov ebx, dword [esp + 0x2078]
shr eax, 0xb
push ebp
not eax
mov edx, dword [ebx + 4]
and eax, 1
mov dword [esp + 0x2080], eax
push esi
mov esi, dword [ebx]
push edi
test edx, edx
jne 0x41c35b
cmp esi, 0x16
jb 0x41c913
mov ebp, esi
mov ecx, edx
sub ebp, 0x1000
sbb ecx, 0
mov dword [esp + 0x10], ecx
js 0x41c374
jg 0x41c390
test ebp, ebp
jne 0x41c390
xorps xmm0, xmm0
movlpd qword [esp + 0x24], xmm0
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
nop dword [eax]
mov eax, esi
sub eax, ebp
sbb edx, ecx
test edx, edx
jb 0x41c3aa
ja 0x41c3a3
cmp eax, 0x1000
jbe 0x41c3aa
mov esi, 0x1000
jmp 0x41c3ac
sub esi, ebp
mov eax, dword [ebx + 0x38]
lea edx, [esp + 0x107c]
push esi
push edx
push ecx
push ebp
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, esi
jne 0x41c925
add esi, 0xfffffffc
js 0x41c40d
nop
cmp dword [esp + esi + 0x107c], 0x6054b50
jne 0x41c402
mov edi, dword [ebx]
mov eax, esi
mov ecx, dword [ebx + 4]
sub edi, ebp
cdq
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
sbb ecx, eax
sub edi, dword [esp + 0x14]
sbb ecx, edx
test ecx, ecx
ja 0x41c409
jb 0x41c402
cmp edi, 0x16
jae 0x41c409
sub esi, 1
jns 0x41c3d0
jmp 0x41c40d
test esi, esi
jns 0x41c449
mov ecx, dword [esp + 0x10]
mov eax, ebp
or eax, ecx
je 0x41c925
mov esi, dword [ebx]
mov edi, esi
mov edx, dword [ebx + 4]
sub edi, ebp
mov eax, edx
sbb eax, ecx
test eax, eax
ja 0x41c925
jb 0x41c43e
cmp edi, 0x10015
jae 0x41c925
sub ebp, 0xffd
jmp 0x41c365
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push 0x16
add esi, ebp
push ecx
adc edx, eax
mov eax, dword [ebx + 0x38]
push edx
push esi
push dword [ebx + 0x44]
mov dword [esp + 0x34], edx
call eax
add esp, 0x14
cmp eax, 0x16
jne 0x41c91c
cmp dword [esp + 0x7c], 0x6054b50
jne 0x41c913
mov ecx, dword [esp + 0x20]
test ecx, ecx
jl 0x41c510
jg 0x41c493
cmp esi, 0x4c
jb 0x41c510
mov eax, dword [ebx + 0x38]
lea edx, [esp + 0x30]
push 0x14
add esi, 0xffffffec
push edx
adc ecx, 0xffffffff
push ecx
push esi
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, 0x14
jne 0x41c510
cmp dword [esp + 0x30], 0x7064b50
jne 0x41c510
mov esi, dword [ebx]
xor ecx, ecx
or ecx, dword [esp + 0x38]
add esi, 0xffffffc8
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x3c]
adc eax, 0xffffffff
cmp edx, eax
ja 0x41c913
jb 0x41c4e3
cmp ecx, esi
ja 0x41c913
mov eax, dword [ebx + 0x38]
lea esi, [esp + 0x44]
push 0x38
push esi
push edx
push ecx
push dword [ebx + 0x44]
call eax
add esp, 0x14
cmp eax, 0x38
jne 0x41c510
cmp dword [esp + 0x44], 0x6064b50
jne 0x41c510
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x34], 1
movzx eax, word [esp + 0x80]
mov edx, dword [esp + 0x88]
mov esi, dword [ebx + 0x48]
movzx ecx, word [esp + 0x86]
movzx edi, word [esp + 0x84]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x18], edx
xor edx, edx
mov dword [esp + 0x14], eax
movzx eax, word [esp + 0x82]
mov dword [ebx + 0x10], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edx
cmp dword [esi + 0x34], edx
je 0x41c60a
or edx, dword [esp + 0x6c]
xor ecx, ecx
mov eax, dword [esp + 0x60]
xor edi, edi
or ecx, dword [esp + 0x64]
or edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], edx
xor edx, edx
or edx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
or eax, 0
ja 0x41c59f
cmp edx, 0x2c
jb 0x41c901
cmp dword [esp + 0x40], 1
jne 0x41c90a
test ebp, ebp
ja 0x41c6f6
jb 0x41c5bd
cmp ecx, 0xffffffff
ja 0x41c6f6
cmp dword [esp + 0x20], 0
mov dword [ebx + 0x10], ecx
ja 0x41c6f6
jb 0x41c5d6
cmp edi, 0xffffffff
ja 0x41c6f6
cmp dword [esp + 0x14], 0
ja 0x41c6ea
cmp dword [esp + 0x18], 0xffffffff
ja 0x41c6ea
mov eax, dword [esp + 0x54]
xor ebp, ebp
mov edx, dword [esp + 0x78]
or ebp, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edx
cmp ecx, edi
jne 0x41c90a
mov edi, dword [esp + 0x14]
or eax, edi
je 0x41c62d
cmp edi, 1
jne 0x41c90a
cmp dword [esp + 0x1c], edi
jne 0x41c90a
mov edi, dword [esp + 0x18]
imul eax, ecx, 0x2e
cmp edi, eax
jb 0x41c901
xor eax, eax
add edi, ebp
adc eax, edx
cmp eax, dword [ebx + 4]
ja 0x41c901
jb 0x41c655
cmp edi, dword [ebx]
ja 0x41c901
mov dword [ebx + 8], ebp
mov dword [ebx + 0xc], edx
test ecx, ecx
je 0x41c8de
mov edi, dword [esp + 0x18]
cmp edi, dword [esi + 8]
jbe 0x41c686
mov eax, dword [ebx + 0x30]
push edi
push dword [esi + 0xc]
push dword [esi]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x41c6de
mov dword [esi], eax
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov esi, dword [ebx + 0x48]
mov edi, dword [ebx + 0x10]
cmp edi, dword [esi + 0x18]
jbe 0x41c6b0
mov eax, dword [ebx + 0x30]
push edi
push dword [esi + 0x1c]
push dword [esi + 0x10]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x41c6de
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], edi
cmp dword [esp + 0x2088], 0
mov dword [esi + 0x14], edi
je 0x41c70b
mov esi, dword [ebx + 0x48]
mov edi, dword [ebx + 0x10]
cmp edi, dword [esi + 0x28]
jbe 0x41c708
mov eax, dword [ebx + 0x30]
push edi
push dword [esi + 0x2c]
push dword [esi + 0x20]
push dword [ebx + 0x34]
call eax
add esp, 0x10
test eax, eax
jne 0x41c702
mov dword [ebx + 0x1c], 0x10
jmp 0x41c92c
mov dword [ebx + 0x1c], 0xf
jmp 0x41c92c
mov dword [ebx + 0x1c], 2
jmp 0x41c92c
mov dword [esi + 0x20], eax
mov dword [esi + 0x28], edi
mov dword [esi + 0x24], edi
mov eax, dword [ebx + 0x48]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x38]
push esi
push dword [eax]
push dword [esp + 0x18]
push ebp
push dword [ebx + 0x44]
call ecx
add esp, 0x14
cmp eax, esi
jne 0x41c91c
mov eax, dword [ebx + 0x48]
xor edx, edx
mov dword [esp + 0x20], edx
mov edi, dword [eax]
cmp dword [ebx + 0x10], edx
jbe 0x41c8de
cmp esi, 0x2e
jb 0x41c901
cmp dword [edi], 0x2014b50
jne 0x41c901
mov eax, dword [ebx + 0x48]
mov ecx, edi
sub ecx, dword [eax]
cmp dword [esp + 0x2088], 0
mov eax, dword [eax + 0x10]
mov dword [eax + edx*4], ecx
je 0x41c776
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + 0x20]
mov dword [eax + edx*4], edx
mov esi, dword [ebx + 0x48]
xor ebp, ebp
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x2a]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
cmp dword [esi + 0x38], ebp
jne 0x41c828
movzx esi, word [edi + 0x1e]
test esi, esi
je 0x41c828
cmp ecx, eax
ja 0x41c7a7
mov ecx, eax
xor eax, eax
cmp eax, ebp
jb 0x41c7c7
ja 0x41c7b3
cmp ecx, edx
jbe 0x41c7c7
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp eax, edx
jbe 0x41c7c5
mov edx, eax
jmp 0x41c7c7
xor ebp, ebp
cmp edx, 0xffffffff
jne 0x41c824
test ebp, ebp
jne 0x41c824
movzx ecx, word [edi + 0x1c]
add ecx, 0x2e
add ecx, edi
nop dword [eax]
cmp esi, 4
jb 0x41c901
movzx edx, word [ecx + 2]
lea eax, [edx + 4]
cmp eax, esi
ja 0x41c901
cmp word [ecx], 1
je 0x41c810
add ecx, 4
mov eax, 0xfffffffc
sub eax, edx
add ecx, edx
add esi, eax
jne 0x41c7e0
jmp 0x41c824
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x34], 1
mov eax, dword [ebx + 0x48]
mov dword [eax + 0x38], 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
cmp edx, 0xffffffff
jne 0x41c835
xor ebp, ebp
jmp 0x41c85d
xor ebp, ebp
cmp eax, 0xffffffff
jne 0x41c840
xor ecx, ecx
jmp 0x41c85d
xor ecx, ecx
cmp dword [edi + 0xa], ecx
jne 0x41c84f
cmp eax, edx
jne 0x41c901
or eax, ecx
je 0x41c85d
mov eax, edx
or eax, ebp
je 0x41c901
movzx eax, word [edi + 0x22]
cmp eax, 0xffff
je 0x41c90a
cmp eax, dword [esp + 0x14]
je 0x41c87b
cmp eax, 1
jne 0x41c90a
cmp edx, 0xffffffff
jne 0x41c884
test ebp, ebp
je 0x41c89e
mov ecx, dword [edi + 0x2a]
xor eax, eax
add ecx, edx
adc eax, ebp
add ecx, 0x1e
adc eax, 0
cmp eax, dword [ebx + 4]
ja 0x41c901
jb 0x41c89e
cmp ecx, dword [ebx]
ja 0x41c901
mov eax, 0x2000
test word [edi + 8], ax
jne 0x41c8f8
movzx eax, word [edi + 0x1e]
movzx ecx, word [edi + 0x20]
mov esi, dword [esp + 0x18]
add ecx, eax
movzx eax, word [edi + 0x1c]
add eax, 0x2e
add eax, ecx
cmp eax, esi
ja 0x41c901
mov edx, dword [esp + 0x20]
sub esi, eax
inc edx
mov dword [esp + 0x18], esi
add edi, eax
mov dword [esp + 0x20], edx
cmp edx, dword [ebx + 0x10]
jb 0x41c741
cmp dword [esp + 0x2088], 0
je 0x41c8f1
push ebx
call fcn.0041c950
add esp, 4
mov eax, 1
jmp 0x41c92e
mov dword [ebx + 0x1c], 5
jmp 0x41c92c
mov dword [ebx + 0x1c], 9
jmp 0x41c92c
mov dword [ebx + 0x1c], 0xa
jmp 0x41c92c
mov dword [ebx + 0x1c], 8
jmp 0x41c92c
mov dword [ebx + 0x1c], 0x14
jmp 0x41c92c
mov dword [ebx + 0x1c], 7
xor eax, eax
mov ecx, dword [esp + 0x207c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00428a51
add esp, 0x2070
ret