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

Disassembly:
mov eax, 0x1078
call fcn.0043d400
mov eax, dword [0x44b240]
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 0x428253
cmp dword [esi], 0x16
jb 0x4287f0
lea eax, [esp + 0x28]
push eax
push 0x16
push 0x6054b50
push esi
call fcn.00428089
add esp, 0x10
test eax, eax
jne 0x428278
mov dword [esi + 0x1c], 7
jmp 0x4287a9
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 0x4287a2
cmp dword [esp + 0x84], 0x6054b50
jne 0x4287f0
cmp edi, ebp
jl 0x428338
jg 0x4282be
cmp ebx, 0x4c
jb 0x428338
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 0x428338
cmp dword [esp + 0x38], 0x7064b50
jne 0x428338
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 0x4287f0
jb 0x42830e
cmp ecx, edi
ja 0x4287f0
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 0x428338
cmp dword [esp + 0x4c], 0x6064b50
jne 0x428338
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 0x428441
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 0x4283cb
cmp edi, 0x2c
jb 0x4287d5
xor eax, eax
inc eax
cmp dword [esp + 0x48], eax
jne 0x4287e7
xor eax, eax
cmp ebx, eax
ja 0x4285f6
jb 0x4283ed
cmp ecx, 0xffffffff
ja 0x4285f6
mov dword [esi + 0x10], ecx
cmp dword [esp + 0x28], eax
ja 0x4285f6
jb 0x428405
cmp edx, 0xffffffff
ja 0x4285f6
cmp dword [esp + 0x24], eax
ja 0x4285ea
cmp ebp, 0xffffffff
ja 0x4285ea
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 0x4287e7
mov edx, dword [esp + 0x30]
mov eax, edi
or eax, edx
je 0x428466
xor eax, eax
inc eax
cmp edx, eax
jne 0x4287e7
cmp edi, eax
jne 0x4287e7
imul eax, ecx, 0x2e
cmp ebp, eax
jb 0x4287d5
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 0x4287d5
jb 0x428492
cmp edx, dword [esi]
ja 0x4287d5
mov eax, dword [esp + 0x18]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
test ecx, ecx
je 0x428784
cmp ebp, dword [ebx + 8]
jbe 0x4284bf
xor eax, eax
push eax
push ebp
push ebx
push esi
call fcn.00426179
add esp, 0x10
test eax, eax
je 0x4287c4
mov dword [ebx + 4], ebp
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x10]
add edi, 0x10
cmp ebx, dword [edi + 8]
jbe 0x4284e6
xor eax, eax
push eax
push ebx
push edi
push esi
call fcn.00426179
add esp, 0x10
test eax, eax
je 0x4287c4
mov dword [edi + 4], ebx
mov edi, dword [esp + 0x1090]
test edi, edi
je 0x428522
mov edi, dword [esi + 0x48]
mov ebx, dword [esi + 0x10]
add edi, 0x20
cmp ebx, dword [edi + 8]
jbe 0x428518
xor eax, eax
push eax
push ebx
push edi
push esi
call fcn.00426179
add esp, 0x10
test eax, eax
je 0x4287c4
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 0x4287a2
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 0x428784
cmp ebp, 0x2e
jb 0x4287d5
cmp dword [ebx], 0x2014b50
jne 0x4287d5
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 0x428586
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 0x4286d3
test ecx, ecx
je 0x4286d3
mov ecx, dword [esp + 0x10]
xor eax, eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jbe 0x4285cc
mov ecx, eax
xor eax, eax
test eax, eax
jb 0x428606
ja 0x4285d8
cmp ecx, edx
jbe 0x428606
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [esp + 0x1c], eax
jbe 0x428602
mov edx, dword [esp + 0x1c]
jmp 0x428608
mov dword [esi + 0x1c], 0xf
jmp 0x4287a9
mov dword [esi + 0x1c], 2
jmp 0x4287a9
mov edx, eax
jmp 0x428608
xor ecx, ecx
mov eax, ecx
cmp edx, 0xffffffff
jne 0x4286d3
cmp eax, ecx
jne 0x4286d3
mov edx, dword [esp + 0x14]
mov edi, ecx
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 0x2e]
add eax, edx
cmp eax, ebp
jbe 0x428676
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 0x4287c4
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 0x42879a
mov ecx, edi
jmp 0x42867b
add ecx, 0x2e
add ecx, ebx
cmp edx, 4
jb 0x4287cd
movzx edx, word [ecx + 2]
lea eax, [edx + 4]
cmp eax, dword [esp + 0x14]
ja 0x4287cd
xor eax, eax
inc eax
cmp word [ecx], ax
je 0x4286b5
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 0x42867b
jmp 0x4286c4
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 0x428702
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x428702
cmp dword [ebx + 0xa], ecx
jne 0x4286f4
cmp eax, edx
jne 0x4287d5
or eax, ecx
je 0x428702
mov eax, edx
or eax, ecx
je 0x4287d5
movzx eax, word [ebx + 0x22]
cmp eax, 0xffff
je 0x4287e7
cmp eax, dword [esp + 0x30]
je 0x428720
cmp eax, 1
jne 0x4287e7
cmp edx, 0xffffffff
je 0x428748
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 0x4287d5
jb 0x428748
cmp ecx, dword [esi]
ja 0x4287d5
mov eax, 0x2000
test word [ebx + 8], ax
jne 0x4287de
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 0x4287d5
mov edx, dword [esp + 0x28]
sub ebp, eax
add ebx, eax
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esi + 0x10]
jb 0x428557
cmp dword [esp + 0x1090], 0
je 0x428795
push esi
call fcn.004287f9
pop ecx
xor eax, eax
inc eax
jmp 0x4287ab
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.0043cf52
add esp, 0x1078
ret
mov dword [esi + 0x1c], 0x10
jmp 0x4287a9
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [esi + 0x1c], 9
jmp 0x4287a9
mov dword [esi + 0x1c], 5
jmp 0x4287a9
mov dword [esi + 0x1c], 0xa
jmp 0x4287a9
mov dword [esi + 0x1c], 8
jmp 0x4287a9