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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x20], ecx
sub esi, ecx
mov eax, edi
sbb eax, dword [ebp + 0x1c]
pxor xmm0, xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov ebx, 0x16
jae 0x4410a0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
test eax, eax
je 0x4411e8
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x20]
test eax, 0x10000000
jne 0x44118d
test eax, 0x80000
jne 0x441219
cmp dword [ebp + 0x1c], 0
mov eax, dword [esp + 0x14]
jne 0x44199b
xor eax, eax
mov ecx, 0xfffffffe
mov esi, dword [ebp + 0x20]
cmp ecx, esi
mov edx, 0
sbb edx, edi
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
jb 0x441108
sub esi, edx
sbb edi, dword [ebp + 0x1c]
add esi, 1
adc edi, 0
cmp ecx, esi
sbb eax, edi
jae 0x44110c
mov esi, edx
not esi
mov ecx, dword [ebp + 8]
xor edi, edi
mov edx, dword [ecx + 0x14]
mov eax, 0
mov dword [esp + 0xc], ebx
test ebx, ebx
mov dword [esp + 4], edx
je 0x4417c4
mov dword [esp + 0x1c], eax
mov eax, 0xb
mov ebx, dword [ebp + 0x18]
cmp eax, ebx
mov edx, dword [ebp + 0x1c]
sbb edi, edx
jb 0x4417f5
mov edi, edx
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x28]
push 0xc
push 0
push esi
push edi
push ebx
push 0
push eax
push dword [esp + 0x28]
call fcn.004419b0
add esp, 0x20
mov ecx, ebx
mov ebx, eax
test eax, eax
jne 0x441939
xor ebx, ebx
cmp esi, 0xd
jb 0x441939
add esi, ecx
add esi, 0xfffffff4
mov dword [esp + 8], esi
xor edi, edi
xor edx, edx
mov ecx, dword [ebp + 8]
jmp 0x441801
xor ebx, ebx
mov eax, dword [ebp + 0x1c]
or dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
jne 0x441096
pxor xmm0, xmm0
movdqu xmmword [eax + 0x54], xmm0
movdqu xmmword [eax + 0x48], xmm0
movdqu xmmword [eax + 0x38], xmm0
movdqu xmmword [eax + 0x28], xmm0
mov dword [eax + 4], 0
push eax
push edx
push ecx
mov esi, edx
call fcn.0041a7a0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x441096
push esi
push ecx
call fcn.00425c50
add esp, 8
jmp 0x4419a6
lea edi, [esp + 0x80]
push edi
push edx
push ecx
mov ebx, esi
mov esi, edx
call fcn.0041a460
mov edx, esi
mov esi, ebx
mov ecx, dword [ebp + 8]
add esp, 0xc
mov ebx, eax
mov eax, edi
mov edi, dword [ebp + 0x24]
test ebx, ebx
jne 0x441096
jmp 0x4410b1
mov dword [esp + 0x10], 0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x18]
push edx
push ecx
call fcn.004144c0
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x441989
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [esp + 0x18]
call fcn.00414fc0
add esp, 0xc
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
call fcn.004147b0
add esp, 0xc
cmp eax, 0x7f2bb780
je 0x441869
mov ebx, eax
test eax, eax
jne 0x44197d
mov eax, dword [ebp + 0x20]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x74], ecx
adc edi, 0
mov dword [esp + 0x70], edi
not eax
mov dword [esp + 0x78], eax
inc esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x7c], esi
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ecx, eax
mov dword [esp + 4], edx
add ecx, edx
mov edx, edi
adc edx, 0
mov ebx, dword [ebp + 0x18]
cmp eax, ebx
mov esi, edi
sbb esi, dword [ebp + 0x1c]
mov dword [esp + 8], edi
jae 0x4413c6
mov ebx, eax
mov esi, ecx
add esi, 0xffffffff
mov edi, edx
adc edi, 0xffffffff
cmp dword [ebp + 0x20], esi
mov esi, dword [ebp + 0x24]
sbb esi, edi
jae 0x44142c
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
sub eax, ebx
mov edx, dword [esp + 0x70]
sbb edx, dword [esp + 8]
add eax, edi
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x34]
adc edx, esi
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
add ecx, dword [esp + 0x78]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x18]
sub eax, ebx
add edi, eax
mov dword [esp + 4], edi
adc esi, 0
mov dword [esp + 0xc], esi
mov dword [esp + 0x40], eax
add ebx, eax
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 8]
adc edi, 0
lea eax, [esp + 0x50]
push eax
push 1
push dword [esp + 0x18]
call fcn.004159c0
add esp, 0xc
test eax, eax
mov esi, dword [esp + 0x7c]
jne 0x441974
push dword [esp + 0x10]
call fcn.00414fe0
add esp, 4
test eax, eax
jne 0x441974
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x18]
call fcn.00414fc0
add esp, 0xc
test eax, eax
jne 0x441974
mov ebx, dword [esp + 0x40]
mov eax, edi
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0xc]
jmp 0x44146d
mov edi, dword [ebp + 0x20]
sub edi, eax
mov ebx, dword [ebp + 0x24]
mov esi, ebx
sbb esi, dword [esp + 8]
jb 0x44195a
inc edi
cmp dword [ebp + 0x20], ecx
mov ecx, ebx
sbb ecx, edx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 4]
cmovae edi, ebx
mov ecx, dword [esp + 0x34]
sub ebx, edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x24], eax
movd xmm0, eax
mov eax, dword [esp + 8]
movd xmm1, eax
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x30]
punpcklqdq xmm1, xmm0
movd xmm0, edi
pshufd xmm0, xmm0, 0x44
paddq xmm0, xmm1
movdqa xmmword [esp + 0x30], xmm0
mov esi, edi
jmp 0x44146d
mov esi, 7
mov edi, dword [ebp + 0x18]
cmp edi, ecx
mov ecx, dword [ebp + 0x1c]
sbb ecx, edx
mov eax, dword [esp + 8]
jae 0x44178f
mov ecx, edi
sub ecx, ebx
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
add edx, ecx
adc edi, 0
add ebx, ecx
mov dword [esp + 0x24], ebx
adc eax, 0
mov esi, dword [esp + 4]
sub esi, ecx
mov dword [esp + 0x40], ecx
mov ebx, ecx
mov ecx, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
test ebx, ebx
je 0x4414b8
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
call fcn.004152b0
add esp, 0xc
test eax, eax
jne 0x441974
push dword [esp + 0x10]
call fcn.00414fe0
add esp, 4
mov ebx, eax
mov eax, 7
test ebx, ebx
je 0x441593
jmp 0x44197d
mov edi, esi
pxor xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
lea esi, [esp + 0x50]
push esi
push 0
push dword [esp + 0x18]
call fcn.004147b0
add esp, 0xc
test eax, eax
jne 0x441974
mov ebx, dword [esp + 0x58]
mov eax, esi
mov esi, dword [esp + 0x5c]
push eax
push 7
push dword [esp + 0x18]
call fcn.004147b0
mov edx, ebx
add esp, 0xc
mov ebx, eax
mov eax, edx
mov dword [esp + 0x18], esi
mov ecx, esi
cmp ebx, 0x7f2bb77c
mov esi, edi
je 0x44152e
test ebx, ebx
jne 0x44197d
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov edi, ecx
push dword [esp + 0x18]
push edx
push dword [esp + 0x18]
call fcn.00414fc0
add esp, 0xc
test eax, eax
jne 0x441974
push 0
push dword [esp + 0x14]
call fcn.00415b90
add esp, 8
test eax, eax
jne 0x441974
push dword [esp + 0x10]
call fcn.00414fe0
add esp, 4
test eax, eax
je 0x441580
mov ebx, eax
cmp eax, 0x7f2bb780
jne 0x44197d
push edi
push dword [esp + 0x2c]
push dword [esp + 0x18]
call fcn.00414fc0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov esi, dword [esp + 4]
cmp esi, dword [eax + 0x14]
mov edi, dword [esp + 0xc]
mov ecx, edi
sbb ecx, 0
jb 0x441978
add esi, dword [esp + 0x1c]
adc edi, 0
push eax
call fcn.00411820
add esp, 4
cmp esi, eax
sbb edi, edx
mov edx, dword [esp + 4]
jae 0x441978
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x441699
mov eax, 0xffffffff
shl eax, cl
not eax
and edx, eax
sar eax, 0x1f
and eax, dword [esp + 0xc]
or eax, edx
mov esi, dword [esp + 0x1c]
je 0x4416d6
lea eax, [esp + 0x50]
push eax
push dword [esp + 0xc]
push dword [esp + 0x2c]
push dword [esp + 0x20]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00433470
add esp, 0x18
test eax, eax
jne 0x441974
mov eax, dword [esp + 0x50]
xor ecx, ecx
or eax, dword [esp + 0x54]
jne 0x44165e
push 0xffffffffffffffff
push dword [esp + 0x10]
push dword [esp + 0xc]
push dword [ebp + 8]
call fcn.0040ff60
add esp, 0x10
mov ecx, 1
mov dword [esp + 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
mov eax, 1
shl eax, cl
lea edx, [eax - 1]
mov edi, dword [esp + 4]
and edx, edi
sub eax, edx
cmp eax, esi
cmovae eax, esi
sub esi, eax
add edi, eax
mov dword [esp + 4], edi
adc dword [esp + 0xc], 0
mov ebx, dword [esp + 0x24]
add ebx, eax
adc dword [esp + 8], 0
jmp 0x4416e2
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0xc]
je 0x4416cd
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov esi, ecx
nop dword [eax]
add ebx, 1
adc esi, 0
push 0xffffffffffffffff
push ecx
push edx
push eax
call fcn.0040ff60
mov eax, dword [ebp + 8]
add esp, 0x10
mov edx, ebx
mov ecx, esi
dec edi
jne 0x4416b0
mov eax, dword [esp + 0x1c]
jmp 0x441787
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x24]
test esi, esi
je 0x441783
mov edx, dword [ebp + 8]
nop dword [eax]
mov eax, esi
shr eax, cl
test eax, eax
je 0x441740
push 0xffffffffffffffff
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
push esi
mov edi, dword [esp + 0xc]
push edi
push edx
call fcn.0040ff60
mov edx, dword [ebp + 8]
add esp, 0x10
mov ecx, dword [edx + 0x64]
mov eax, 1
shl eax, cl
inc dword [esp + 0x18]
add edi, eax
mov dword [esp + 4], edi
adc esi, 0
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ebx, eax
adc dword [esp + 8], 0
sub esi, eax
jne 0x4416f0
jmp 0x441783
lea eax, [esp + 0x50]
push eax
push dword [esp + 0xc]
push ebx
push dword [esp + 0x20]
push dword [ebp + 0xc]
push edx
call fcn.00433470
add esp, 0x18
mov ebx, eax
test eax, eax
jne 0x4417ae
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x50]
jne 0x4417ae
push 0xffffffffffffffff
push dword [esp + 0x10]
push dword [esp + 0xc]
push dword [ebp + 8]
call fcn.0040ff60
add esp, 0x10
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x2c], eax
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x30]
push eax
push esi
push dword [esp + 0x18]
call fcn.004147b0
add esp, 0xc
test eax, eax
je 0x4412b8
jmp 0x441949
test ebx, ebx
mov esi, dword [esp + 0x28]
jne 0x44197d
mov eax, dword [esp + 0x18]
add dword [esp + 0x2c], eax
jmp 0x44178f
mov ebx, 0x7f2bb746
cmp edx, 0x55555555
ja 0x441096
lea eax, [edx + edx*2]
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
jne 0x441129
jmp 0x441096
add ebx, 0xfffffff4
adc edx, 0xffffffff
mov edi, ebx
mov dword [esp + 8], esi
mov ebx, dword [esp + 4]
shr ebx, 2
mov esi, edi
sub edi, ebx
mov eax, edx
sbb eax, 0
mov dword [esp + 4], ebx
jae 0x441870
mov eax, edx
mov edx, dword [esp + 0x14]
lea ebx, [edx + 0x58]
mov dword [esp + 0x20], ebx
push 1
push 0
mov ebx, dword [esp + 0x10]
push ebx
push eax
push esi
push 1
push dword [esp + 0x38]
push dword [esp + 0x28]
call fcn.004419b0
add esp, 0x20
mov ecx, ebx
mov ebx, eax
test eax, eax
jne 0x441939
xor ebx, ebx
cmp dword [esp + 4], ecx
jae 0x441939
add ecx, edi
mov dword [esp + 8], ecx
xor edi, edi
xor esi, esi
mov ebx, dword [esp + 4]
jmp 0x441879
xor ebx, ebx
jmp 0x44197d
mov edi, esi
sub edi, ebx
sbb edx, 0
mov esi, edx
mov eax, ebx
mul ebx
mov ecx, eax
mov ebx, edx
mov dword [esp + 0x20], edi
sub edi, eax
mov eax, esi
sbb eax, edx
jae 0x4418ed
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x5c]
mov ecx, dword [ebp + 8]
push 1
push 0
mov ebx, dword [esp + 0x10]
push ebx
push esi
push dword [esp + 0x30]
push 2
push eax
push dword [esp + 0x28]
call fcn.004419b0
add esp, 0x20
mov ecx, ebx
mov ebx, eax
test eax, eax
jne 0x441939
xor ebx, ebx
cmp dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
sbb eax, 0
jae 0x441939
add ecx, edi
mov dword [esp + 8], ecx
mov dword [esp + 0x20], 0
xor edi, edi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
jmp 0x4418f7
sub dword [esp + 0x20], ecx
sbb esi, ebx
mov edi, esi
mov eax, ecx
mov edx, dword [esp + 4]
imul ebx, edx
mul edx
add ebx, edx
mov edx, ebx
xor ebx, ebx
cmp dword [esp + 0x20], eax
mov eax, edi
sbb eax, edx
mov esi, dword [esp + 8]
jae 0x441939
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x60]
mov ecx, dword [ebp + 8]
push 1
push 0
push esi
push edi
push dword [esp + 0x30]
push 3
push eax
push dword [esp + 0x28]
call fcn.004419b0
add esp, 0x20
mov ebx, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x441989
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x441986
mov ebx, eax
cmp eax, 0x7f2bb780
je 0x44195a
cmp ebx, 0x7f2bb77c
jne 0x44197d
mov ecx, dword [esp + 0x2c]
mov eax, ecx
sar eax, 0x1f
push eax
push ecx
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.00418190
add esp, 0x10
mov ebx, eax
jmp 0x44197d
mov ebx, 0x7f2bb72a
push dword [esp + 0x10]
call fcn.00414420
add esp, 4
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
test ebx, ebx
mov ecx, dword [ebp + 8]
jne 0x441096
push eax
push edx
push ecx
call fcn.0041a7a0
add esp, 0xc
mov ebx, eax
jmp 0x441096