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

Disassembly:
mov eax, 0x1078
call fcn.00449ba0
mov eax, dword [0x459c80]
xor eax, esp
mov dword [esp + 0x1074], eax
mov eax, dword [esp + 0x1080]
xor ecx, ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1088]
inc ecx
shr eax, 0xb
xor ebp, ebp
not eax
xorps xmm0, xmm0
and eax, ecx
movlpd qword [esp + 0x24], xmm0
push edi
mov dword [esp + 0x1090], eax
cmp dword [esi + 4], ebp
ja 0x428983
cmp dword [esi], 0x16
jb 0x428f20
lea eax, [esp + 0x28]
push eax
push 0x16
push 0x6054b50
push esi
call fcn.004287b9
add esp, 0x10
test eax, eax
jne 0x4289a8
mov dword [esi + 0x1c], 7
jmp 0x428ed9
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x84]
mov ebx, dword [esp + 0x28]
push 0x16
push eax
push edi
push ebx
push dword [esi + 0x44]
call dword [esi + 0x38]
add esp, 0x14
cmp eax, 0x16
jne 0x428ed2
cmp dword [esp + 0x84], 0x6054b50
jne 0x428f20
cmp edi, ebp
jl 0x428a68
jg 0x4289ee
cmp ebx, 0x4c
jb 0x428a68
push 0x14
add ebx, 0xffffffec
lea eax, [esp + 0x3c]
push eax
adc edi, 0xffffffff
push edi
push ebx
push dword [esi + 0x44]
call dword [esi + 0x38]
add esp, 0x14
cmp eax, 0x14
jne 0x428a68
cmp dword [esp + 0x38], 0x7064b50
jne 0x428a68
mov edx, dword [esp + 0x44]
xor ecx, ecx
or ecx, dword [esp + 0x40]
or edx, ebp
mov edi, dword [esi]
mov eax, dword [esi + 4]
add edi, 0xffffffc8
adc eax, 0xffffffff
cmp edx, eax
ja 0x428f20
jb 0x428a3e
cmp ecx, edi
ja 0x428f20
push 0x38
lea eax, [esp + 0x50]
push eax
push edx
push ecx
push dword [esi + 0x44]
call dword [esi + 0x38]
add esp, 0x14
cmp eax, 0x38
jne 0x428a68
cmp dword [esp + 0x4c], 0x6064b50
jne 0x428a68
mov eax, dword [esi + 0x48]
xor ecx, ecx
inc ecx
mov dword [eax + 0x34], ecx
movzx eax, word [esp + 0x88]
mov ebx, dword [esi + 0x48]
movzx ecx, word [esp + 0x8e]
movzx edx, word [esp + 0x8c]
movzx edi, word [esp + 0x8a]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esi + 0x10], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ebx
cmp dword [ebx + 0x34], eax
je 0x428b71
mov ebx, dword [esp + 0x70]
xor edi, edi
or ebx, eax
xor ecx, ecx
mov eax, dword [esp + 0x68]
xor edx, edx
or ecx, dword [esp + 0x6c]
or eax, edi
or edx, dword [esp + 0x64]
xor ebp, ebp
or ebp, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
or eax, edi
or edi, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
or eax, 0
ja 0x428afb
cmp edi, 0x2c
jb 0x428f05
xor eax, eax
inc eax
cmp dword [esp + 0x48], eax
jne 0x428f17
xor eax, eax
cmp ebx, eax
ja 0x428d26
jb 0x428b1d
cmp ecx, 0xffffffff
ja 0x428d26
mov dword [esi + 0x10], ecx
cmp dword [esp + 0x28], eax
ja 0x428d26
jb 0x428b35
cmp edx, 0xffffffff
ja 0x428d26
cmp dword [esp + 0x24], eax
ja 0x428d1a
cmp ebp, 0xffffffff
ja 0x428d1a
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x30], eax
xor eax, eax
or eax, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
xor eax, eax
or ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x10]
cmp ecx, edx
jne 0x428f17
mov edx, dword [esp + 0x30]
mov eax, edi
or eax, edx
je 0x428b96
xor eax, eax
inc eax
cmp edx, eax
jne 0x428f17
cmp edi, eax
jne 0x428f17
imul eax, ecx, 0x2e
cmp ebp, eax
jb 0x428f05
mov edi, dword [esp + 0x20]
xor eax, eax
mov edx, ebp
add edx, edi
adc eax, dword [esp + 0x18]
cmp eax, dword [esi + 4]
ja 0x428f05
jb 0x428bc2
cmp edx, dword [esi]
ja 0x428f05
mov eax, dword [esp + 0x18]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
test ecx, ecx
je 0x428eb4
cmp ebp, dword [ebx + 8]
jbe 0x428bef
xor eax, eax
push eax
push ebp
push ebx
push esi
call fcn.004268a9
add esp, 0x10
test eax, eax
je 0x428ef4
mov dword [ebx + 4], ebp
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x10]
add edi, 0x10
cmp ebx, dword [edi + 8]
jbe 0x428c16
xor eax, eax
push eax
push ebx
push edi
push esi
call fcn.004268a9
add esp, 0x10
test eax, eax
je 0x428ef4
mov dword [edi + 4], ebx
mov edi, dword [esp + 0x1090]
test edi, edi
je 0x428c52
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x10]
add edi, 0x20
cmp ebx, dword [edi + 8]
jbe 0x428c48
xor eax, eax
push eax
push ebx
push edi
push esi
call fcn.004268a9
add esp, 0x10
test eax, eax
je 0x428ef4
mov dword [edi + 4], ebx
mov edi, dword [esp + 0x1090]
mov eax, dword [esi + 0x48]
push ebp
push dword [eax]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push dword [esi + 0x44]
call dword [esi + 0x38]
add esp, 0x14
cmp eax, ebp
jne 0x428ed2
mov eax, dword [esi + 0x48]
mov ebx, dword [eax]
xor eax, eax
mov edx, eax
mov dword [esp + 0x28], eax
cmp dword [esi + 0x10], eax
jbe 0x428eb4
cmp ebp, 0x2e
jb 0x428f05
cmp dword [ebx], 0x2014b50
jne 0x428f05
mov eax, dword [esi + 0x48]
mov ecx, ebx
sub ecx, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [eax + edx*4], ecx
test edi, edi
je 0x428cb6
mov eax, dword [esi + 0x48]
mov eax, dword [eax + 0x20]
mov dword [eax + edx*4], edx
mov eax, dword [ebx + 0x14]
movzx ecx, word [ebx + 0x1e]
mov edx, dword [ebx + 0x2a]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], eax
movzx eax, word [ebx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x48]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x38], 0
jne 0x428e03
test ecx, ecx
je 0x428e03
mov ecx, dword [esp + 0x10]
xor eax, eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jbe 0x428cfc
mov ecx, eax
xor eax, eax
test eax, eax
jb 0x428d36
ja 0x428d08
cmp ecx, edx
jbe 0x428d36
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [esp + 0x1c], eax
jbe 0x428d32
mov edx, dword [esp + 0x1c]
jmp 0x428d38
mov dword [esi + 0x1c], 0xf
jmp 0x428ed9
mov dword [esi + 0x1c], 2
jmp 0x428ed9
mov edx, eax
jmp 0x428d38
xor ecx, ecx
mov eax, ecx
cmp edx, 0xffffffff
jne 0x428e03
cmp eax, ecx
jne 0x428e03
mov edx, dword [esp + 0x14]
mov edi, ecx
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 0x2e]
add eax, edx
cmp eax, ebp
jbe 0x428da6
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
pop ecx
test edi, edi
je 0x428ef4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
xor eax, eax
add ecx, dword [esp + 0x24]
push edi
adc eax, dword [esp + 0x20]
add ecx, 0x2e
push 0
pop edx
adc eax, edx
push eax
push ecx
push dword [esi + 0x44]
call dword [esi + 0x38]
mov edx, dword [esp + 0x28]
add esp, 0x14
cmp eax, edx
jne 0x428eca
mov ecx, edi
jmp 0x428dab
add ecx, 0x2e
add ecx, ebx
cmp edx, 4
jb 0x428efd
movzx edx, word [ecx + 2]
lea eax, [edx + 4]
cmp eax, dword [esp + 0x14]
ja 0x428efd
xor eax, eax
inc eax
cmp word [ecx], ax
je 0x428de5
push 0xfffffffffffffffc
add ecx, 4
pop eax
add ecx, edx
sub eax, edx
mov edx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x14], edx
jne 0x428dab
jmp 0x428df4
mov eax, dword [esi + 0x48]
xor ecx, ecx
inc ecx
mov dword [eax + 0x34], ecx
mov eax, dword [esi + 0x48]
mov dword [eax + 0x38], ecx
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [esp + 0x1094]
pop ecx
mov edx, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, 0xffffffff
je 0x428e32
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x428e32
cmp dword [ebx + 0xa], ecx
jne 0x428e24
cmp eax, edx
jne 0x428f05
or eax, ecx
je 0x428e32
mov eax, edx
or eax, ecx
je 0x428f05
movzx eax, word [ebx + 0x22]
cmp eax, 0xffff
je 0x428f17
cmp eax, dword [esp + 0x30]
je 0x428e50
cmp eax, 1
jne 0x428f17
cmp edx, 0xffffffff
je 0x428e78
mov ecx, dword [ebx + 0x2a]
xor eax, eax
add ecx, edx
push eax
pop edx
adc eax, edx
add ecx, 0x1e
adc eax, edx
cmp eax, dword [esi + 4]
ja 0x428f05
jb 0x428e78
cmp ecx, dword [esi]
ja 0x428f05
mov eax, 0x2000
test word [ebx + 8], ax
jne 0x428f0e
movzx eax, word [ebx + 0x1e]
movzx ecx, word [ebx + 0x20]
add ecx, eax
movzx eax, word [ebx + 0x1c]
add eax, 0x2e
add eax, ecx
cmp eax, ebp
ja 0x428f05
mov edx, dword [esp + 0x28]
sub ebp, eax
add ebx, eax
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esi + 0x10]
jb 0x428c87
cmp dword [esp + 0x1090], 0
je 0x428ec5
push esi
call fcn.00428f29
pop ecx
xor eax, eax
inc eax
jmp 0x428edb
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [esi + 0x1c], 0x14
xor eax, eax
mov ecx, dword [esp + 0x1084]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00449662
add esp, 0x1078
ret
mov dword [esi + 0x1c], 0x10
jmp 0x428ed9
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [esi + 0x1c], 9
jmp 0x428ed9
mov dword [esi + 0x1c], 5
jmp 0x428ed9
mov dword [esi + 0x1c], 0xa
jmp 0x428ed9
mov dword [esi + 0x1c], 8
jmp 0x428ed9