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

Disassembly:
mov eax, 0x3e24
call fcn.1033e170
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x3e1c], eax
push ebx
push ebp
push esi
push edi
mov ebx, edx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x3e38]
xorps xmm0, xmm0
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x84]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0x3a0]
lea edx, [ecx + 4]
mov ebp, dword [esp + 0x3e3c]
mov esi, dword [esp + 0x3e4c]
mov eax, dword [eax + 0x214]
mov edi, dword [ecx]
shl eax, 0x10
push ebp
mov dword [esp + 0x54], eax
lea eax, [ecx + 0xc4]
push eax
mov dword [esp + 0x6c], ebp
lea eax, [esp + 0xec]
mov ebp, dword [esp + 0x3e50]
push ebp
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 0x30]
push eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x28], edx
push eax
movdqu xmmword [esp + 0xfc], xmm0
mov dword [esp + 0xc4], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0xfc], edx
mov edx, ecx
push esi
push dword [esp + 0x7c]
lea ecx, [esp + 0x120]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0x1312d00
mov dword [esp + 0xc8], edi
mov dword [esp + 0xd0], 0x10
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0xa
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xa8], edi
mov dword [esp + 0xb0], 0x14
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xa
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x88], edi
mov dword [esp + 0x90], 0x14
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0xa
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
movq qword [esp + 0x114], xmm0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x40], ebp
call fcn.1028d3e0
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x5c]
push 0x18c
push edi
mov eax, dword [eax + 0x3a0]
mov byte [esp + 0x3b], 0
mov eax, dword [eax + 0x210]
shl eax, 0x10
mov dword [esi], eax
mov eax, dword [edi + 4]
call eax
mov esi, eax
add esp, 0x28
test esi, esi
je 0x1028f902
mov dword [esi], edi
lea eax, [esi + 8]
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0xa8]
mov edx, 0xb
mov dword [esi + 4], edi
mov dword [esi + 0x188], eax
call fcn.1028b2a0
mov ecx, dword [esp + 0xbc]
test al, al
movdqu xmm0, xmmword [ebx]
mov eax, 0xb
mov dword [esp + 0x48], 0
cmovne ecx, eax
mov eax, dword [esp + 0xc4]
mov edx, eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x1c], edx
movdqu xmmword [eax], xmm0
cmp dword [edi], 0
jne 0x1028f8fe
mov ebx, dword [esp + 0x3e44]
mov dword [esp + 0x18], ebx
lea ecx, [ecx]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1028ea8c
cmp dword [esp + 0x48], 0
mov ecx, 0xe
mov eax, 0xb
cmovne ecx, eax
jmp 0x1028ea95
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
movzx ecx, cl
cmp dword [edi], 0
mov dword [esp + 0x30], ecx
jne 0x1028f8fe
dec dword [esp + 0x58]
je 0x1028f82b
movzx edi, cl
cmp edi, 0x1f
ja case.default.0x1028eabf
movzx eax, byte [edi + 0x1028fa78]
jmp dword [eax*4 + 0x1028fa2c]
cmp byte [esp + 0xe8], 0
jne case.0x1028eabf.0
lea eax, [esp + 0x13]
push ecx
push eax
lea eax, [esp + 0x90]
push dword [esp + 0x44]
mov edi, dword [esp + 0x50]
mov edx, esi
push eax
mov ecx, edi
call fcn.1028e3a0
mov eax, dword [edi + 0x84]
add esp, 0x10
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
mov edx, dword [esp + 0x1c]
lea eax, [esi + 8]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
cmp byte [esp + 0xe8], 0
jne case.0x1028eabf.0
lea eax, [esp + 0x13]
push ecx
push eax
lea eax, [esp + 0x70]
jmp 0x1028eae1
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x1028eb62
cmp byte [esp + 0x13], 0
jne 0x1028eb62
xor edx, edx
mov ecx, esi
call fcn.1028fc00
mov ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0x13], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
mov ecx, esi
call fcn.1028fba0
add ebp, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3e48], ebp
push ebp
mov edx, ebx
lea ecx, [esp + 0x104]
call fcn.1028de80
add esp, 4
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
xor edi, edi
sub eax, esi
sub eax, 8
sar eax, 3
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1028ec1e
mov edx, edi
mov ecx, esi
call fcn.1028fc00
add ebx, eax
lea edx, [edi + 1]
mov ecx, esi
mov dword [esp + 0x3e44], ebx
call fcn.1028fc00
add ebp, eax
lea ecx, [esp + 0x100]
push ebp
mov edx, ebx
mov dword [esp + 0x3e4c], ebp
call fcn.1028df00
add edi, 2
add esp, 4
cmp edi, dword [esp + 0x2c]
jb 0x1028ebd2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp cl, 6
mov dword [esp + 0x2c], eax
sete byte [esp + 0x27]
xor edi, edi
test eax, eax
je 0x1028ec1e
mov edx, edi
mov ecx, esi
call fcn.1028fc00
mov cl, byte [esp + 0x27]
test cl, cl
je 0x1028ec6c
add ebx, eax
mov dword [esp + 0x3e44], ebx
jmp 0x1028ec75
add ebp, eax
mov dword [esp + 0x3e48], ebp
test cl, cl
mov edx, ebx
push ebp
lea ecx, [esp + 0x104]
sete byte [esp + 0x2b]
call fcn.1028df00
inc edi
add esp, 4
cmp edi, dword [esp + 0x2c]
jb 0x1028ec50
jmp 0x1028ec12
mov eax, dword [esi + 0x188]
xor edx, edx
sub eax, esi
mov dword [esp + 0x28], edx
sub eax, 8
sar eax, 3
mov dword [esp + 0x40], eax
cmp eax, 6
jb 0x1028ed74
jmp 0x1028ecc0
mov ecx, esi
call fcn.1028fc00
inc edx
mov ecx, esi
lea edi, [ebx + eax]
mov dword [esp + 0x2c], edi
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ebp, eax
add ebp, dword [esp + 0x20]
add edx, 2
mov ecx, esi
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ecx, esi
lea ebx, [edi + eax]
lea edx, [edx + 3]
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ecx, esi
lea edi, [eax + ebp]
lea edx, [edx + 4]
call fcn.1028fc00
mov edx, dword [esp + 0x28]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x18], eax
lea edx, [edx + 5]
call fcn.1028fc00
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x100]
add eax, edi
push eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
push eax
push edi
push ebx
push ebp
call fcn.1028e080
mov edx, dword [esp + 0x3c]
add esp, 0x14
mov ebx, dword [esp + 0x18]
add edx, 6
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x3e44], ebx
mov dword [esp + 0x3e48], ebp
lea eax, [edx + 6]
mov dword [esp + 0x28], edx
cmp eax, dword [esp + 0x40]
jbe 0x1028ecc0
mov ecx, dword [esp + 0x30]
cmp cl, 0x18
jne 0x1028edb4
mov ecx, esi
call fcn.1028fc00
add ebx, eax
inc edx
mov ecx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3e44], ebx
call fcn.1028fc00
add ebp, eax
lea ecx, [esp + 0x100]
push ebp
mov edx, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3e4c], ebp
call fcn.1028df00
add esp, 4
mov edx, dword [esp + 0x1c]
lea eax, [esi + 8]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov eax, dword [esp + 0x48]
cmp eax, 0xa
jg 0x1028f82b
inc eax
lea ecx, [esp + 0xa8]
mov edx, eax
mov dword [esp + 0x48], eax
call fcn.1028b370
mov edi, eax
mov ecx, esi
mov dword [esp + 0x1c], edi
call fcn.1028fb50
cmp byte [esp + 0x30], 0x1d
mov edx, eax
mov ecx, dword [esp + 0x4c]
push edi
je 0x1028ee20
call fcn.1028c7f0
add esp, 4
test eax, eax
jne 0x1028f82b
mov edx, edi
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
call fcn.1028c6e0
add esp, 4
test eax, eax
jne 0x1028f82b
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
mov eax, dword [esp + 0x48]
cmp eax, 1
jl 0x1028f82b
dec eax
lea ecx, [esp + 0xa8]
mov edx, eax
mov dword [esp + 0x48], eax
call fcn.1028b370
mov edi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x1c], edx
jmp 0x1028ea70
mov ecx, edx
call fcn.1028fae0
movzx eax, al
cmp eax, 0x25
ja case.0x1028ee86.0
movzx eax, byte [eax + 0x1028fab0]
jmp dword [eax*4 + 0x1028fa98]
push 0
push 0x1038a824
jmp 0x1028eefa
push 0
push 0x1038b5c4
lea eax, [esp + 0x108]
mov ecx, esi
push eax
lea eax, [esp + 0x3e54]
push eax
lea edx, [esp + 0x3e54]
call fcn.1028e580
mov ebp, dword [esp + 0x3e58]
lea eax, [esi + 8]
mov ebx, dword [esp + 0x3e54]
add esp, 0x10
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebx
mov dword [esi + 0x188], eax
jmp 0x1028ea70
push 0
push 0x1038bd88
jmp 0x1028eefa
push 1
push 0x1038bd94
lea eax, [esp + 0x108]
mov ecx, esi
push eax
lea eax, [esp + 0x3e54]
push eax
lea edx, [esp + 0x3e54]
call fcn.1028e580
mov ebp, dword [esp + 0x3e58]
add esp, 0x10
mov ebx, dword [esp + 0x3e44]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebx
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x1028ef5f
cmp byte [esp + 0xe8], 0
jne case.0x1028eabf.0
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x13]
push ecx
push eax
push dword [esp + 0x44]
lea eax, [esp + 0x74]
mov edx, esi
push eax
mov ecx, edi
call fcn.1028e3a0
mov eax, dword [edi + 0x84]
add esp, 0x10
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
cmp byte [esp + 0x30], 0x13
jne 0x1028f028
mov ecx, dword [esp + 0x9c]
add ecx, dword [esp + 0x7c]
cmp ecx, 0x60
jbe 0x1028efe0
mov eax, dword [esp + 0xe4]
test eax, eax
je case.0x1028ee86.0
cmp dword [eax], 0
jne case.0x1028ee86.0
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov dword [eax], 0x12
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
lea eax, [ecx + 7]
mov dword [esp + 0xec], ecx
shr eax, 3
mov dword [esp + 0xf0], eax
mov word [esp + 0xe8], 0x101
test ecx, ecx
je case.0x1028ee86.0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xe4]
call fcn.1028e2e0
mov edi, dword [esp + 0x14]
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
push dword [esp + 0x54]
lea eax, [esp + 0x2e60]
mov edx, edi
push eax
lea eax, [esp + 0x1f48]
push eax
lea ecx, [esp + 0x2f14]
call fcn.1028c990
mov ecx, dword [esp + 0xa8]
xorps xmm0, xmm0
add ecx, dword [esp + 0x88]
add esp, 0xc
mov edi, dword [esp + 0x14]
movq qword [esp + 0xd8], xmm0
mov dword [esp + 0xe0], 0
movdqu xmmword [esp + 0xc8], xmm0
mov dword [esp + 0xc8], edi
cmp ecx, 0x60
jbe 0x1028f098
cmp dword [edi], 0
jne 0x1028f0ca
mov dword [edi], 0x12
jmp 0x1028f0ca
lea eax, [ecx + 7]
mov dword [esp + 0xd0], ecx
shr eax, 3
mov dword [esp + 0xd4], eax
mov word [esp + 0xcc], 0x101
test ecx, ecx
je 0x1028f0ca
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xc8]
call fcn.1028e2e0
push 0
push 0
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x74]
push eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x2f18]
call fcn.1028d070
mov edx, dword [esp + 0x2c]
lea eax, [esi + 8]
add esp, 0x10
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 2
jbe 0x1028f130
cmp byte [esp + 0x13], 0
jne 0x1028f130
xor edx, edx
mov ecx, esi
call fcn.1028fc00
mov ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0x13], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
mov ecx, esi
call fcn.1028fba0
add ebp, eax
mov ecx, esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3e48], ebp
call fcn.1028fba0
add ebx, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3e44], ebx
jmp 0x1028eb92
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x1028f1a6
cmp byte [esp + 0x13], 0
jne 0x1028f1a6
xor edx, edx
mov ecx, esi
call fcn.1028fc00
mov ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0x13], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
mov ecx, esi
call fcn.1028fba0
add ebx, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3e44], ebx
jmp 0x1028eb92
mov ecx, dword [esi + 0x188]
xor eax, eax
sub ecx, esi
mov dword [esp + 0x2c], eax
sub ecx, 8
sar ecx, 3
mov dword [esp + 0x40], ecx
cmp ecx, 6
jbe 0x1028f255
lea edi, [eax + 6]
jmp 0x1028f200
mov edx, eax
mov ecx, esi
call fcn.1028fc00
add ebx, eax
lea edx, [edi - 5]
mov ecx, esi
mov dword [esp + 0x3e44], ebx
call fcn.1028fc00
add ebp, eax
lea ecx, [esp + 0x100]
push ebp
mov edx, ebx
mov dword [esp + 0x3e4c], ebp
call fcn.1028df00
mov eax, dword [esp + 0x30]
add edi, 2
mov ecx, dword [esp + 0x44]
add eax, 2
add esp, 4
mov dword [esp + 0x2c], eax
cmp edi, ecx
jb 0x1028f200
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebp
cmp eax, ecx
jae 0x1028ec1a
lea ecx, [eax + 2]
mov dword [esp + 0x28], ecx
lea edx, [ecx - 2]
mov ecx, esi
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ecx, esi
dec edx
lea edi, [ebx + eax]
mov dword [esp + 0x2c], edi
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ebp, eax
add ebp, dword [esp + 0x20]
mov ecx, esi
call fcn.1028fc00
inc edx
mov ecx, esi
lea ebx, [edi + eax]
call fcn.1028fc00
mov edx, dword [esp + 0x28]
mov ecx, esi
add edx, 2
lea edi, [eax + ebp]
call fcn.1028fc00
mov edx, dword [esp + 0x28]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x18], eax
lea edx, [edx + 3]
call fcn.1028fc00
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x100]
add eax, edi
push eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
push eax
push edi
push ebx
push ebp
call fcn.1028e080
mov ecx, dword [esp + 0x3c]
add esp, 0x14
mov ebx, dword [esp + 0x18]
add ecx, 6
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x3e44], ebx
mov dword [esp + 0x3e48], ebp
lea eax, [ecx - 2]
mov dword [esp + 0x28], ecx
cmp eax, dword [esp + 0x40]
jb 0x1028f264
mov edx, dword [esp + 0x1c]
lea eax, [esi + 8]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
xor edi, edi
sub eax, esi
mov dword [esp + 0x30], edi
sub eax, 8
sar eax, 3
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1028ec1e
sub eax, edi
test al, 1
je 0x1028f364
mov edx, edi
mov ecx, esi
call fcn.1028fc00
add eax, ebx
inc edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edi
jmp 0x1028f368
mov dword [esp + 0x38], ebx
mov edx, edi
mov ecx, esi
call fcn.1028fc00
lea edx, [edi + 1]
mov ecx, esi
lea ebx, [eax + ebp]
call fcn.1028fc00
add eax, dword [esp + 0x38]
lea edx, [edi + 2]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.1028fc00
mov edx, dword [esp + 0x30]
mov ecx, esi
add edx, 3
lea edi, [ebx + eax]
call fcn.1028fc00
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x100]
lea ebp, [edi + eax]
mov eax, dword [esp + 0x18]
push ebp
push eax
push edi
push eax
push ebx
call fcn.1028e080
mov edi, dword [esp + 0x44]
add esp, 0x14
mov eax, dword [esp + 0x2c]
add edi, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x3e44], ebx
mov dword [esp + 0x3e48], ebp
mov dword [esp + 0x30], edi
cmp edi, eax
jb 0x1028f348
jmp 0x1028ec16
mov eax, dword [esi + 0x188]
xor edx, edx
sub eax, esi
mov dword [esp + 0x34], edx
sub eax, 8
sar eax, 3
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1028f67b
mov edi, edi
sub eax, edx
test al, 1
je 0x1028f42a
mov ecx, esi
call fcn.1028fc00
add eax, ebp
inc edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
jmp 0x1028f42e
mov dword [esp + 0x38], ebp
mov ecx, esi
call fcn.1028fc00
mov ebx, eax
inc edx
add ebx, dword [esp + 0x18]
mov ecx, esi
call fcn.1028fc00
mov edx, dword [esp + 0x34]
mov ecx, esi
add edx, 2
lea edi, [ebx + eax]
call fcn.1028fc00
mov edx, dword [esp + 0x34]
mov ebp, eax
add ebp, dword [esp + 0x38]
mov ecx, esi
lea edx, [edx + 3]
call fcn.1028fc00
push ebp
add eax, edi
lea ecx, [esp + 0x104]
push eax
push ebp
push edi
push dword [esp + 0x48]
mov edx, ebx
mov dword [esp + 0x2c], eax
call fcn.1028e080
mov edx, dword [esp + 0x48]
add esp, 0x14
mov eax, dword [esp + 0x2c]
add edx, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x3e44], ebx
mov dword [esp + 0x3e48], ebp
mov dword [esp + 0x34], edx
cmp edx, eax
jb 0x1028f410
jmp 0x1028f677
mov edx, dword [esi + 0x188]
xor edi, edi
sub edx, esi
sub edx, 8
sar edx, 3
cmp cl, 0x1f
mov dword [esp + 0x2c], edx
sete al
test edx, edx
je 0x1028f67b
mov dword [esp + 0x34], 4
mov dword [esp + 0x28], 3
mov dword [esp + 0x18], 2
mov dword [esp + 0x20], 1
mov edx, edi
mov ecx, esi
test al, al
je 0x1028f593
call fcn.1028fc00
mov edx, dword [esp + 0x20]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], ebp
call fcn.1028fc00
mov edx, dword [esp + 0x18]
mov ebx, eax
add ebx, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0x38], ebx
call fcn.1028fc00
mov edx, dword [esp + 0x28]
add eax, ebp
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.1028fc00
mov ecx, dword [esp + 0x2c]
mov ebp, eax
add ebp, dword [esp + 0x30]
sub ecx, edi
cmp ecx, 5
jne 0x1028f584
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.1028fc00
inc dword [esp + 0x20]
mov ebx, eax
mov eax, dword [esp + 0x38]
inc edx
inc dword [esp + 0x18]
add ebx, eax
inc dword [esp + 0x28]
inc edi
xor cl, cl
mov dword [esp + 0x34], edx
mov byte [esp + 0x27], cl
jmp 0x1028f612
mov eax, dword [esp + 0x38]
xor cl, cl
mov byte [esp + 0x27], cl
jmp 0x1028f612
mov dword [esp + 0x40], ebx
call fcn.1028fc00
mov edx, dword [esp + 0x20]
add eax, ebp
mov ecx, esi
mov dword [esp + 0x5c], eax
call fcn.1028fc00
mov edx, dword [esp + 0x18]
mov ecx, esi
lea ebp, [ebx + eax]
mov dword [esp + 0x38], ebp
call fcn.1028fc00
add eax, dword [esp + 0x5c]
mov ecx, esi
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
call fcn.1028fc00
lea ebx, [eax + ebp]
mov eax, dword [esp + 0x2c]
sub eax, edi
cmp eax, 5
jne 0x1028f605
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.1028fc00
inc dword [esp + 0x20]
mov ebp, eax
add ebp, dword [esp + 0x30]
inc edi
inc dword [esp + 0x18]
inc dword [esp + 0x28]
inc edx
mov dword [esp + 0x34], edx
jmp 0x1028f609
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov byte [esp + 0x27], 1
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x100]
push ebp
push ebx
push dword [esp + 0x38]
push eax
push dword [esp + 0x6c]
call fcn.1028e080
add dword [esp + 0x34], 4
add edi, 4
add dword [esp + 0x2c], 4
add esp, 0x14
add dword [esp + 0x28], 4
add dword [esp + 0x34], 4
mov al, byte [esp + 0x27]
mov dword [esp + 0x3e44], ebx
mov dword [esp + 0x3e48], ebp
cmp edi, dword [esp + 0x2c]
jb 0x1028f4f7
mov dword [esp + 0x18], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x1c]
lea eax, [esi + 8]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x188], eax
jmp 0x1028ea70
mov ecx, edx
call fcn.1028fae0
mov ecx, dword [esp + 0x1c]
shl eax, 8
movsx edi, ax
call fcn.1028fae0
movsx edx, ax
mov ecx, esi
or edx, edi
call fcn.1028fb10
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
cmp cl, 0xf6
ja 0x1028f6df
lea edx, [edi - 0x8b]
mov ecx, esi
call fcn.1028fb10
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
cmp cl, 0xfa
ja 0x1028f70a
mov ecx, edx
call fcn.1028fae0
shl edi, 8
mov ecx, esi
lea edx, [edi - 0xf694]
add edx, eax
call fcn.1028fb10
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
cmp cl, 0xfe
mov ecx, edx
ja 0x1028f736
call fcn.1028fae0
shl edi, 8
mov edx, 0xfa94
sub edx, edi
mov ecx, esi
sub edx, eax
call fcn.1028fb10
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x1028ea70
call fcn.1028fae0
mov ecx, dword [esp + 0x1c]
mov edi, eax
shl edi, 8
call fcn.1028fae0
mov ebx, eax
or ebx, edi
shl ebx, 8
call fcn.1028fae0
mov edi, eax
or edi, ebx
shl edi, 8
call fcn.1028fae0
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov ebx, dword [esp + 0x18]
or eax, edi
mov edi, dword [esp + 0x14]
cmp edx, ecx
jne 0x1028f79e
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x1028ea70
cmp dword [eax], 0
jne 0x1028ea70
mov dword [eax], 0x82
jmp 0x1028ea70
mov dword [edx], eax
mov eax, dword [ecx]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x1028ea70
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
je 0x1028f7cd
cmp eax, 5
jne 0x1028f7e7
cmp byte [esp + 0x13], 0
jne 0x1028f7e7
xor edx, edx
mov ecx, esi
call fcn.1028fc00
mov ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x2f1], 0
jne 0x1028f8fe
lea ecx, [esp + 0x100]
call fcn.1028e270
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x1028f8fe
cmp byte [esp + 0x3e40], 0
je 0x1028f835
mov ecx, 0x12
jmp 0x1028f907
mov ecx, esi
call fcn.1028fb50
mov edi, eax
call fcn.1028fb50
mov ebx, eax
call fcn.1028fba0
mov ecx, esi
mov ebp, eax
call fcn.1028fba0
mov ecx, dword [esp + 0x4c]
mov edx, edi
mov dword [esp + 0x54], eax
lea eax, [esp + 0xc8]
push eax
call fcn.1028c730
add esp, 4
test eax, eax
je 0x1028f878
mov ecx, eax
jmp 0x1028f907
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x58]
push eax
push ebp
push dword [esp + 0x5c]
lea edx, [esp + 0xd4]
mov ecx, edi
push 1
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.1028e800
mov ebp, dword [esp + 0x64]
lea edx, [esp + 0xe0]
mov ecx, ebp
call fcn.1028c7a0
lea eax, [esp + 0xe0]
mov edx, ebx
push eax
mov ecx, ebp
call fcn.1028c730
add esp, 0x1c
test eax, eax
je 0x1028f8cc
mov ecx, eax
jmp 0x1028f907
lea eax, [esp + 0x58]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x74]
lea edx, [esp + 0xdc]
push dword [esp + 0x74]
call fcn.1028e800
add esp, 0x18
lea edx, [esp + 0xc8]
mov ecx, ebp
call fcn.1028c7a0
xor ecx, ecx
jmp 0x1028f907
mov ecx, 0x40
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1028f916
cmp dword [eax], 0
jne 0x1028f916
mov dword [eax], ecx
mov eax, dword [esp + 0x2e78]
mov dword [esp + 0x2e68], 0
mov dword [esp + 0x2e70], 0
mov dword [esp + 0x2e74], 0
test eax, eax
je 0x1028f953
push eax
mov eax, dword [esp + 0x2e60]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2e78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
test eax, eax
je 0x1028f992
push eax
mov eax, dword [esp + 0x6c]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x84], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
test eax, eax
je 0x1028f9da
push eax
mov eax, dword [esp + 0x8c]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xa4], 0
test eax, eax
je 0x1028fa01
push eax
mov eax, dword [esp + 0xac]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
test esi, esi
je 0x1028fa11
mov eax, dword [esi]
push esi
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov ecx, dword [esp + 0x3e2c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1033d458
add esp, 0x3e24
ret