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

Disassembly:
sub esp, 0x1c
mov eax, dword [0x1000f004]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push ebp
push esi
push edi
push 0x230
mov edi, edx
call ebx
mov esi, eax
xor ebp, ebp
add esp, 4
mov dword [esp + 0x18], ebp
test esi, esi
jne 0x10005313
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.10001330
add esp, 0x1c
ret
push 0x230
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], eax
mov dword [esi + 0x70], 0x1000f018
push edi
mov dword [esi + 0xa0], 0xffffffff
mov dword [esi + 0xa4], 0xffffffff
mov dword [esi + 0xc0], ebp
mov dword [esi + 0x1ac], 8
mov dword [esi + 0xbc], 9
call dword [0x1000f030]
add esp, 4
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x70]
lea ecx, [esp + 0x26]
mov dword [esi + 0x84], edx
push 1
mov eax, dword [eax]
push ecx
push dword [esi + 0x74]
call eax
add esp, 0xc
cmp eax, 1
je 0x100053ab
mov ecx, esi
call fcn.10003430
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.10001330
add esp, 0x1c
ret
movzx eax, byte [esp + 0x26]
mov ecx, dword [esi + 0x70]
push eax
push dword [esi + 0x74]
mov eax, dword [ecx + 0x14]
call eax
add esp, 8
cmp byte [esp + 0x26], 0x52
je 0x10005391
push 4
mov dword [esi + 0x1a8], 1
call ebx
add esp, 4
mov dword [esi + 0x1b4], eax
test eax, eax
je 0x10005391
push 0x878
push 1
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov ecx, dword [esi + 0x1b4]
mov ebx, eax
add esp, 8
mov dword [ecx], ebx
test ebx, ebx
je 0x10005391
mov dword [ebx], esi
cmp dword [ebx + 0x18], ebp
jne 0x10005702
lea edi, [ebx + 4]
nop dword [eax]
mov eax, dword [esi + 0x70]
push dword [esi + 0x74]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [esi + 0x70]
add esp, 4
mov dword [esi + 0x94], edx
mov edx, dword [esi + 0x74]
mov dword [esi + 0x90], eax
push edi
call fcn.10003e10
add esp, 4
cmp eax, 0xffffffff
je 0x10005391
cmp dword [ebx + 0x18], 0
jne 0x10005458
mov ecx, ebp
inc ebp
mov dword [esp + 0x18], ebp
cmp ecx, 0x10
jg 0x10005391
add dword [esi + 0x90], eax
adc dword [esi + 0x94], 0
xor ecx, ecx
mov eax, dword [ebx + 8]
add eax, 8
setb cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebx + 0x74], eax
test eax, eax
je 0x10005391
movups xmm0, xmmword [edi]
movups xmmword [eax], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [eax + 0x10], xmm0
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x70]
sub eax, 0x18
push eax
mov eax, dword [ebx + 0x74]
add eax, 0x20
push eax
push dword [esi + 0x74]
mov eax, dword [ecx]
call eax
mov ecx, dword [ebx + 8]
add esp, 0xc
sub ecx, 0x18
cmp eax, ecx
jne 0x10005391
mov ecx, dword [ebx + 0x74]
mov edx, 1
call fcn.10003560
test eax, eax
jne 0x100054f2
push dword [ebx + 0x74]
mov dword [ebx + 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebx + 0x74], 0
inc dword [esi + 0xb0]
jmp 0x100056f8
mov dword [ebx + 0x130], 0
mov eax, dword [esi + 0xa0]
and eax, dword [esi + 0xa4]
cmp eax, 0xffffffff
jne 0x1000563f
cmp dword [ebx + 0x18], 0
movzx eax, byte [ebx + 0xe]
cdq
je 0x100055d6
xor edx, edx
add edx, dword [ebx + 0x14]
mov ecx, edx
adc eax, 0
or ecx, eax
jne 0x1000555b
mov edi, dword [ebx + 0x10]
cmp edi, 0xffffffff
je 0x1000555b
movzx eax, byte [ebx + 0xf]
push ecx
cdq
push 0xffffffffffffffff
push edx
push eax
call fcn.1000b3c0
add eax, edi
mov dword [esi + 0xa0], eax
adc edx, 0
mov dword [esi + 0xa4], edx
jmp 0x1000563f
mov dword [esi + 0xac], eax
mov dword [esi + 0xa8], edx
mov dword [ebx + 0x14], 0
mov byte [ebx + 0xe], 0
mov eax, dword [esi + 0x70]
push dword [esi + 0x74]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
test eax, eax
je 0x1000563f
push ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0xffffffff
mov ecx, esi
mov dword [esp + 0x24], 0xffffffff
call fcn.100036f0
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x1000563f
sub ecx, dword [esi + 0xa8]
mov dword [esi + 0xa0], ecx
sbb edx, dword [esi + 0xac]
mov dword [esi + 0xa4], edx
jmp 0x1000563f
xor ecx, ecx
add ecx, dword [ebx + 0x14]
adc eax, 0
or ecx, eax
jne 0x1000563f
mov ebp, dword [ebx + 0x10]
cmp ebp, 0xffffffff
je 0x1000562a
mov al, byte [ebx + 0xf]
or edi, 0xffffffff
mov byte [esp + 0x17], al
movzx eax, al
cdq
mov ecx, eax
mov eax, edx
mul edi
mov edi, eax
mov eax, ecx
or ecx, 0xffffffff
mul ecx
add edi, edx
add eax, ebp
adc edi, 0
or eax, edi
je 0x1000563b
movzx eax, byte [esp + 0x17]
push 0
cdq
push 0xffffffffffffffff
push edx
push eax
call fcn.1000b3c0
add eax, ebp
adc edx, 0
jmp 0x1000562f
or eax, 0xffffffff
or edx, eax
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], edx
mov ebp, dword [esp + 0x18]
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x1000569e
cmp dword [ebx + 0x18], 0
je 0x1000569e
test byte [ebx + 0x1c], 8
je 0x1000569e
mov eax, dword [esi + 0x70]
lea edx, [esp + 0x27]
push 1
push edx
push ecx
mov eax, dword [eax]
call eax
add esp, 0xc
cmp eax, 1
jne 0x1000569e
movzx eax, byte [esp + 0x27]
mov ecx, dword [esi + 0x70]
push eax
push dword [esi + 0x78]
mov eax, dword [ecx + 0x14]
call eax
mov eax, dword [esi + 0x70]
push dword [esi + 0x78]
mov eax, dword [eax + 0x18]
call eax
add esp, 0xc
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], edx
mov dword [esi + 0xb8], 1
cmp dword [esi + 0xb8], 0
je 0x100056b8
xor edx, edx
mov ecx, esi
call fcn.100039e0
test eax, eax
je 0x10005391
cmp dword [ebx + 0x130], 0
jne 0x100056d2
xor edx, edx
mov ecx, esi
call fcn.10005080
test eax, eax
je 0x10005391
cmp dword [ebx + 0x18], 0
jne 0x100056eb
push dword [ebx + 0x74]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x130], 1
lea edi, [ebx + 4]
cmp dword [ebx + 0x18], 0
je 0x10005410
mov byte [esi + 0x14], 0
movzx eax, byte [ebx + 0x1c]
or dword [esi + 0x14], eax
cmp dword [esi + 0x1c], 0
jne 0x1000572f
mov eax, dword [ebx + 0x1c]
and al, 4
movzx ecx, al
mov eax, 5
neg ecx
sbb ecx, ecx
add ecx, 2
sub eax, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x30], eax
mov edx, dword [ebx + 0x1c]
test edx, 0x1000
jne 0x10005750
and dl, 4
movzx eax, dl
neg eax
sbb eax, eax
add eax, 2
mov dword [esi + 0xc4], eax
mov edx, dword [ebx + 0x1c]
test edx, edx
js 0x10005391
and edx, 3
inc edx
mov dword [esi + 0xc], edx
movzx eax, byte [ebx + 0x143]
mov dword [esi + 0x20], eax
mov ecx, dword [ebx + 0x1c]
lea eax, [edx*8]
shr ecx, 0xd
and ecx, 0x1f
sub eax, ecx
cmp dword [esi + 0x2c], 0
mov dword [esi + 8], eax
jne 0x100057c7
cmp dword [ebx + 0x18], 0
je 0x100057c0
mov ecx, dword [ebx + 0x1c]
mov eax, ecx
and eax, 0x7800000
cmp eax, 0x7800000
je 0x100057c0
shr ecx, 0x17
and ecx, 0xf
mov eax, dword [ecx*4 + 0x1000d3f8]
mov dword [esi + 0x2c], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.10001330
add esp, 0x1c
ret
mov dword [esi + 0x2c], 0xac44
mov ecx, dword [esp + 0x28]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001330
add esp, 0x1c
ret