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

Disassembly:
mov eax, 0x3e98
call fcn.101010a4
mov eax, dword [0x10372b24]
xor eax, esp
mov dword [esp + 0x3e94], eax
mov eax, dword [esp + 0x3ea4]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3eac]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3eb8]
mov dword [esp + 0x4c], eax
mov ebx, dword [edi + 0xb0]
lea ebp, [edi + 4]
mov eax, dword [esp + 0x3ec8]
mov esi, dword [edi]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x2e0]
push 0x80
push 0
mov dword [esp + 0x24], edi
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x50], eax
lea eax, [esp + 0x3e2c]
push eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x64], 0x1312d00
call fcn.101027a1
push dword [esp + 0x58]
xorps xmm0, xmm0
mov dword [esp + 0x9c], ebp
lea eax, [edi + 0xf0]
mov dword [esp + 0x7c], ebp
push eax
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xf8], ebp
lea eax, [esp + 0xf8]
mov dword [esp + 0xc0], ebp
mov ebp, dword [esp + 0x3ed8]
push ebp
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0xc4], esi
push eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xd0], 0x10
push eax
push dword [esp + 0x84]
lea eax, [esp + 0x128]
mov dword [esp + 0xdc], 0
push dword [esp + 0x78]
mov dword [esp + 0xe4], 0xa
push edi
push eax
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc4], 0x14
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xa
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa4], 0x14
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xa
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
movq qword [esp + 0x128], xmm0
mov dword [esp + 0x130], 0
mov dword [esp + 0x5c], ebp
call fcn.102c3c20
mov eax, dword [ebx + 0x2e0]
add esp, 0x34
cmp byte [edi + 8], 0
setne byte [esp + 0x1b]
mov eax, dword [eax + 0x21c]
mov ecx, dword [esp + 0x40]
shl eax, 0x10
mov dword [ecx], eax
cmp byte [edi + 8], 0
je 0x102c5826
mov eax, dword [ebx + 0x4c]
mov eax, dword [eax + 0x614]
jmp 0x102c582b
mov eax, 0x30
push eax
lea ebx, [edi + 4]
mov dword [esp + 0x60], eax
push ebx
push esi
call fcn.102c7340
mov esi, eax
add esp, 0xc
mov dword [esp + 0x54], esi
test esi, esi
jne 0x102c584f
lea eax, [esi + 0x40]
jmp 0x102c6a9b
lea eax, [esp + 0xa8]
push 0x11
push eax
call fcn.102c1180
mov ecx, dword [esp + 0xc4]
add esp, 8
test al, al
mov edx, 0x11
mov eax, dword [esp + 0x3eb0]
cmovne ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xc4]
mov edx, ecx
movups xmm0, xmmword [eax]
mov dword [esp + 0x10], edx
movups xmmword [ecx], xmm0
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx], ecx
jne 0x102c6bb3
mov ebx, dword [esp + 0x3ec0]
mov dword [esp + 0x20], ebx
jmp 0x102c58c8
mov edx, dword [esp + 0x10]
jmp 0x102c58c8
push eax
push esi
call fcn.102c74f0
add esp, 8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x102c58e1
test ecx, ecx
mov eax, 0xb
mov ecx, 0xe
cmove eax, ecx
jmp 0x102c5905
mov cl, byte [eax]
inc eax
movzx ecx, cl
mov dword [edx + 0xc], eax
mov al, cl
mov dword [esp + 0x24], eax
cmp cl, 0xb
je 0x102c58fa
cmp cl, 0xe
jne 0x102c5909
xor ecx, ecx
movzx eax, al
cmp byte [edi + 8], cl
cmovne eax, ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x64]
cmp dword [ecx], 0
jne 0x102c6a97
sub dword [esp + 0x58], 1
je 0x102c69d3
movzx edi, al
cmp edi, 0x1f
ja case.default.0x102c592d
jmp dword [edi*4 + 0x102c6bbc]
mov edi, dword [esp + 0x1c]
cmp byte [edi + 8], 0
je 0x102c5def
cmp byte [edi + 0x5d], 0
jne 0x102c69d3
push esi
call fcn.102c7440
add esp, 4
test eax, eax
js 0x102c5def
mov dword [edi + 0x78], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov edi, dword [esp + 0x1c]
cmp byte [edi + 8], 0
je 0x102c5def
cmp dword [edi + 0x60], 0
je 0x102c69d3
mov eax, dword [esp + 0x1c]
add edi, 0x5c
push dword [eax + 0x80]
push dword [eax + 0x7c]
push dword [eax + 0x78]
push edi
call fcn.102c7960
add esp, 0x10
test al, al
je 0x102c59c8
mov eax, dword [esp + 0x1c]
push dword [eax + 0x80]
push dword [eax + 0x7c]
push dword [eax + 0x78]
push edi
call fcn.102c76b0
add esp, 0x10
mov dword [esp + 0x38], eax
test eax, eax
jne 0x102c6a9b
push esi
call fcn.102c7440
add esp, 4
cmp eax, dword [esp + 0x5c]
ja 0x102c69d3
push eax
push esi
push edi
call fcn.102c22c0
mov edi, dword [esp + 0x28]
add esp, 0xc
mov byte [edi + 0x5d], 1
jmp 0x102c58c0
cmp byte [esp + 0xe8], 0
mov edi, dword [esp + 0x1c]
jne 0x102c5def
lea eax, [esp + 0x1b]
push 0
push eax
lea eax, [esp + 0x90]
push dword [esp + 0x48]
push eax
push esi
push edi
call fcn.102c2820
mov eax, dword [edi + 0xb0]
add esp, 0x18
cmp byte [eax + 0x231], 0
jne 0x102c6a97
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
cmp byte [esp + 0xe8], 0
mov edi, dword [esp + 0x1c]
jne 0x102c5def
lea eax, [esp + 0x1b]
push 0
push eax
lea eax, [esp + 0x70]
jmp 0x102c5a13
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x102c5a8d
cmp byte [esp + 0x1b], 0
jne 0x102c5a8d
push 0
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x48]
add esp, 8
add eax, dword [esp + 0x48]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1b], 1
mov eax, dword [edi + 0xb0]
cmp byte [eax + 0x231], 0
jne 0x102c6a97
push esi
call fcn.102c73d0
add ebp, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x3ec8], ebp
push ebp
lea eax, [esp + 0x108]
push ebx
push eax
call fcn.102c4040
mov eax, dword [esi + 8]
add esp, 0x10
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov eax, dword [esi + 0xc]
xor edi, edi
sub eax, dword [esi + 8]
sar eax, 3
mov dword [esp + 0x3c], eax
test eax, eax
je 0x102c6850
push edi
push esi
call fcn.102c72c0
add ebx, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x3ed0], ebx
call fcn.102c72c0
add ebp, eax
lea eax, [esp + 0x110]
push ebp
push ebx
push eax
mov dword [esp + 0x3ee0], ebp
call fcn.102c3e60
add edi, 2
add esp, 0x1c
cmp edi, dword [esp + 0x3c]
jb 0x102c5af4
jmp 0x102c6844
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 8]
sar ecx, 3
cmp al, 6
mov dword [esp + 0x3c], ecx
sete byte [esp + 0x33]
xor edi, edi
test ecx, ecx
je 0x102c6850
push edi
push esi
call fcn.102c72c0
mov cl, byte [esp + 0x3b]
add esp, 8
test cl, cl
je 0x102c5b72
add ebx, eax
mov dword [esp + 0x3ec0], ebx
jmp 0x102c5b7b
add ebp, eax
mov dword [esp + 0x3ec4], ebp
push ebp
lea eax, [esp + 0x104]
xor cl, 1
push ebx
push eax
mov byte [esp + 0x3f], cl
call fcn.102c3e60
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x3c]
jb 0x102c5b55
jmp 0x102c6844
mov ecx, dword [esi + 0xc]
xor edi, edi
sub ecx, dword [esi + 8]
sar ecx, 3
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edi
cmp ecx, 6
jb 0x102c5c7a
nop dword [eax]
push edi
push esi
call fcn.102c72c0
lea edi, [ebx + eax]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x44], edi
lea ecx, [ebx + 1]
push ecx
push esi
call fcn.102c72c0
lea ecx, [ebx + 2]
mov ebp, eax
add ebp, dword [esp + 0x38]
push ecx
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x44]
add ecx, 3
push ecx
push esi
lea ebx, [edi + eax]
call fcn.102c72c0
mov ecx, dword [esp + 0x4c]
add ecx, 4
push ecx
push esi
lea edi, [eax + ebp]
call fcn.102c72c0
mov ecx, dword [esp + 0x54]
add eax, ebx
add ecx, 5
mov dword [esp + 0x48], eax
push ecx
push esi
call fcn.102c72c0
add eax, edi
push eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
push eax
push edi
push ebx
push ebp
push dword [esp + 0x80]
lea eax, [esp + 0x148]
push eax
call fcn.102c37e0
mov edi, dword [esp + 0x78]
add esp, 0x4c
mov ebx, dword [esp + 0x20]
add edi, 6
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x3ec0], ebx
mov dword [esp + 0x3ec4], ebp
lea eax, [edi + 6]
mov dword [esp + 0x2c], edi
cmp eax, dword [esp + 0x34]
jbe 0x102c5bc0
mov eax, dword [esp + 0x24]
cmp al, 0x18
jne 0x102c684c
push edi
push esi
call fcn.102c72c0
add ebx, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3ed0], ebx
call fcn.102c72c0
add ebp, eax
lea eax, [esp + 0x110]
push ebp
push ebx
push eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x3ee0], ebp
call fcn.102c3e60
mov eax, dword [esi + 8]
add esp, 0x1c
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov eax, dword [esp + 0x14]
cmp eax, 0x10
jg 0x102c69d3
inc eax
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xac]
push eax
call fcn.102c1140
mov edx, eax
push esi
mov dword [esp + 0x1c], edx
call fcn.102c7440
add esp, 0xc
cmp byte [esp + 0x24], 0x1d
push edx
push eax
push dword [esp + 0x4c]
je 0x102c5d2b
call fcn.102c55a0
add esp, 0xc
test eax, eax
jne 0x102c69d3
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
call fcn.102c5540
add esp, 0xc
test eax, eax
jne 0x102c69d3
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
mov eax, dword [esp + 0x14]
cmp eax, 1
jl 0x102c69d3
dec eax
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xac]
push eax
call fcn.102c1140
mov edi, dword [esp + 0x24]
mov edx, eax
add esp, 8
mov dword [esp + 0x10], edx
jmp 0x102c58c4
push edx
call fcn.102c1a90
movzx edx, al
add esp, 4
lea ecx, [edx - 1]
cmp ecx, 0x24
ja case.0x102c5d99.3
movzx ecx, byte [ecx + 0x102c6c54]
jmp dword [ecx*4 + 0x102c6c3c]
push 0
push 0x1034fc38
jmp 0x102c5e0a
push 0
push 0x1034fc44
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x3ed0]
push eax
lea eax, [esp + 0x3ed0]
push eax
push esi
call fcn.102c2530
mov ebp, dword [esp + 0x3edc]
add esp, 0x18
mov ebx, dword [esp + 0x3ec0]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
push 0
push 0x1034fc50
jmp 0x102c5e0a
push 1
push 0x1034fc5c
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x3ed0]
push eax
lea eax, [esp + 0x3ed0]
push eax
push esi
call fcn.102c2530
mov ebp, dword [esp + 0x3edc]
add esp, 0x18
mov ebx, dword [esp + 0x3ec0]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebx
jmp 0x102c58c4
mov edi, dword [esp + 0x1c]
cmp byte [edi + 8], 0
jne case.0x102c5e6d.0
cmp al, 0x26
jae case.0x102c5e6d.0
cmp edx, 0x1e
ja case.0x102c5e6d.0
jmp dword [edx*4 + 0x102c6c7c]
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
add esp, 8
test eax, eax
je 0x102c5eb0
test edx, edx
je 0x102c5eb0
mov eax, 1
jmp 0x102c58b6
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
add esp, 8
test eax, eax
jne 0x102c5e8d
test edx, edx
jne 0x102c5e8d
xor eax, eax
jmp 0x102c58b6
push esi
call fcn.102c73d0
xor ecx, ecx
test eax, eax
sete cl
push ecx
push esi
call fcn.102c74f0
add esp, 0xc
jmp 0x102c58c0
push esi
call fcn.102c73d0
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.102c74a0
add esp, 0xc
jmp 0x102c58c0
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
add eax, edx
push eax
push esi
call fcn.102c74a0
add esp, 0x10
jmp 0x102c58c0
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
sub eax, edx
push eax
push esi
call fcn.102c74a0
add esp, 0x10
jmp 0x102c58c0
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
push edx
push eax
call fcn.10103449
push eax
push esi
call fcn.102c74a0
add esp, 0x18
jmp 0x102c58c0
push esi
call fcn.102c73d0
neg eax
push eax
push esi
call fcn.102c74a0
add esp, 0xc
jmp 0x102c58c0
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
xor ecx, ecx
cmp eax, edx
sete cl
push ecx
push esi
call fcn.102c74f0
add esp, 0x10
jmp 0x102c58c0
push esi
call fcn.102c73d0
add esp, 4
jmp 0x102c58c0
push esi
call fcn.102c7440
push esi
mov edx, eax
call fcn.102c73d0
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp edx, 0x1f
ja 0x102c58b0
mov dword [esp + edx*4 + 0x3e24], eax
jmp 0x102c58c0
push esi
call fcn.102c7440
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp eax, 0x1f
ja 0x102c58c8
push dword [esp + eax*4 + 0x3e24]
push esi
call fcn.102c74a0
jmp 0x102c58bd
push esi
call fcn.102c73d0
push esi
mov ebx, eax
call fcn.102c73d0
push esi
mov edi, eax
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
cmp edi, ebx
cmovle edx, eax
push edx
push esi
call fcn.102c74a0
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 0x2e0]
mov ecx, dword [edi + 0x288]
mov eax, ecx
shl eax, 0xd
movzx edx, cx
xor ecx, eax
mov eax, ecx
inc edx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
push edx
xor eax, ecx
push esi
mov dword [edi + 0x288], eax
call fcn.102c74a0
mov edx, dword [esp + 0x18]
add esp, 8
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
push edx
push eax
call fcn.102c1100
push eax
push esi
call fcn.102c74a0
add esp, 0x18
jmp 0x102c58c0
push esi
call fcn.102c73d0
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
test edi, edi
jle 0x102c6102
push edi
push edi
call fcn.10103449
lea ecx, [edi + 1]
add esp, 8
add ecx, eax
sar ecx, 1
mov dword [esp + 0x24], ecx
cmp ecx, edi
je 0x102c6104
mov esi, ecx
mov ebp, edi
push esi
push ebp
mov edi, esi
call fcn.10103449
inc esi
add esp, 8
add esi, eax
sar esi, 1
cmp esi, edi
jne 0x102c60c6
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
push ecx
push esi
call fcn.102c74a0
mov edx, dword [esp + 0x18]
add esp, 8
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
xor ecx, ecx
push ecx
push esi
call fcn.102c74a0
mov edx, dword [esp + 0x18]
add esp, 8
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
push esi
call fcn.102c73d0
mov edi, eax
push edi
push esi
call fcn.102c74a0
push edi
push esi
call fcn.102c74a0
mov edx, dword [esp + 0x24]
add esp, 0x14
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
push esi
call fcn.102c73d0
push esi
mov edx, eax
call fcn.102c73d0
push edx
push esi
mov edi, eax
call fcn.102c74a0
push edi
push esi
call fcn.102c74a0
mov edx, dword [esp + 0x28]
add esp, 0x18
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
push esi
call fcn.102c7440
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
mov edx, dword [esp + 0x10]
sar ecx, 3
test ecx, ecx
je 0x102c58c4
test eax, eax
js 0x102c619b
cmp eax, ecx
jb 0x102c6199
xor ecx, ecx
jmp 0x102c619c
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.102c72c0
push eax
push esi
call fcn.102c74a0
add esp, 0x10
jmp 0x102c58c0
push esi
call fcn.102c7440
push esi
mov edx, eax
call fcn.102c7440
push edx
push eax
push esi
call fcn.102c7540
add esp, 0x14
jmp 0x102c58c0
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x102c61ec
cmp byte [esp + 0xe8], 0
jne case.0x102c592d.0
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x1b]
push 0
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x74]
push eax
push esi
push edi
call fcn.102c2820
mov eax, dword [edi + 0xb0]
add esp, 0x18
cmp byte [eax + 0x231], 0
jne 0x102c6a97
cmp byte [esp + 0x24], 0x13
jne 0x102c6254
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x10]
push eax
push edx
lea eax, [esp + 0xec]
push eax
call fcn.102c5420
mov eax, dword [esi + 8]
add esp, 0xc
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
push dword [esp + 0x60]
lea eax, [esp + 0x2e60]
push eax
lea eax, [esp + 0x1f48]
push eax
lea eax, [esp + 0x2f14]
push edi
push eax
call fcn.102c4fe0
mov edx, dword [esp + 0x24]
lea eax, [edi + 4]
xorps xmm0, xmm0
mov dword [esp + 0xf4], 0
movups xmmword [esp + 0xdc], xmm0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x90]
add eax, dword [esp + 0xb0]
push eax
push edx
lea eax, [esp + 0xe4]
movq qword [esp + 0xf4], xmm0
push eax
call fcn.102c5420
push 0
push 0
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x2f3c]
push eax
call fcn.102c4a40
mov eax, dword [esi + 8]
add esp, 0x38
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 2
jbe 0x102c6325
cmp byte [esp + 0x1b], 0
jne 0x102c6325
push 0
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x48]
add esp, 8
add eax, dword [esp + 0x48]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1b], 1
mov eax, dword [edi + 0xb0]
cmp byte [eax + 0x231], 0
jne 0x102c6a97
push esi
call fcn.102c73d0
add ebp, eax
push esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3ecc], ebp
call fcn.102c73d0
add ebx, eax
lea eax, [esp + 0x108]
push ebp
push ebx
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3ed4], ebx
call fcn.102c4040
mov eax, dword [esi + 8]
add esp, 0x14
mov edx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x102c63b2
cmp byte [esp + 0x1b], 0
jne 0x102c63b2
push 0
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x48]
add esp, 8
add eax, dword [esp + 0x48]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1b], 1
mov eax, dword [edi + 0xb0]
cmp byte [eax + 0x231], 0
jne 0x102c6a97
push esi
call fcn.102c73d0
add ebx, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3ec4], ebx
jmp 0x102c5abc
mov ecx, dword [esi + 0xc]
xor eax, eax
sub ecx, dword [esi + 8]
sar ecx, 3
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], eax
cmp ecx, 6
jbe 0x102c6454
lea edi, [eax + 6]
push eax
push esi
call fcn.102c72c0
add ebx, eax
lea eax, [edi - 5]
push eax
push esi
mov dword [esp + 0x3ed0], ebx
call fcn.102c72c0
add ebp, eax
lea eax, [esp + 0x110]
push ebp
push ebx
push eax
mov dword [esp + 0x3ee0], ebp
call fcn.102c3e60
mov eax, dword [esp + 0x58]
add edi, 2
mov ecx, dword [esp + 0x40]
add eax, 2
add esp, 0x1c
mov dword [esp + 0x3c], eax
cmp edi, ecx
jb 0x102c6401
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
cmp eax, ecx
jae 0x102c684c
lea ecx, [eax + 2]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 2]
push eax
push esi
call fcn.102c72c0
lea edi, [ebx + eax]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x3c], edi
lea ecx, [ebx - 1]
push ecx
push esi
call fcn.102c72c0
mov ebp, eax
add ebp, dword [esp + 0x38]
push ebx
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x44]
inc ecx
push ecx
push esi
lea ebx, [edi + eax]
call fcn.102c72c0
mov ecx, dword [esp + 0x4c]
add ecx, 2
push ecx
push esi
lea edi, [eax + ebp]
call fcn.102c72c0
add eax, ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
add eax, 3
push eax
push esi
call fcn.102c72c0
add eax, edi
push eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
push eax
push edi
push ebx
push ebp
push dword [esp + 0x78]
lea eax, [esp + 0x148]
push eax
call fcn.102c37e0
mov ecx, dword [esp + 0x78]
add esp, 0x4c
mov ebx, dword [esp + 0x20]
add ecx, 6
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x3ec0], ebx
mov dword [esp + 0x3ec4], ebp
lea eax, [ecx - 2]
mov dword [esp + 0x2c], ecx
cmp eax, dword [esp + 0x24]
jb 0x102c6463
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov eax, edi
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edi
cmp edi, eax
jae 0x102c6850
sub eax, edi
test al, 1
je 0x102c6564
push edi
push esi
call fcn.102c72c0
add eax, ebx
add esp, 8
inc edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edi
jmp 0x102c6568
mov dword [esp + 0x2c], ebx
push edi
push esi
call fcn.102c72c0
lea ecx, [edi + 1]
push ecx
push esi
lea ebx, [eax + ebp]
call fcn.102c72c0
add eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
lea eax, [edi + 2]
push eax
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x3c]
add ecx, 3
push ecx
push esi
lea edi, [ebx + eax]
call fcn.102c72c0
lea ebp, [edi + eax]
mov eax, dword [esp + 0x40]
push ebp
push eax
push edi
push eax
push ebx
push dword [esp + 0x60]
lea eax, [esp + 0x138]
push eax
call fcn.102c37e0
mov edi, dword [esp + 0x60]
add esp, 0x3c
mov eax, dword [esp + 0x34]
add edi, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ec0], ebx
mov dword [esp + 0x3ec4], ebp
mov dword [esp + 0x24], edi
cmp edi, eax
jb 0x102c6547
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], ebp
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov eax, edi
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edi
cmp edi, eax
jae 0x102c6850
nop
sub eax, edi
test al, 1
je 0x102c663d
push edi
push esi
call fcn.102c72c0
add eax, ebp
add esp, 8
inc edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edi
jmp 0x102c6641
mov dword [esp + 0x2c], ebp
push edi
push esi
call fcn.102c72c0
lea ecx, [edi + 1]
mov ebx, eax
add ebx, dword [esp + 0x28]
push ecx
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x34]
add ecx, 2
push ecx
push esi
lea edi, [ebx + eax]
call fcn.102c72c0
mov ebp, eax
mov eax, dword [esp + 0x3c]
add ebp, dword [esp + 0x44]
add eax, 3
push eax
push esi
call fcn.102c72c0
push ebp
add eax, edi
push eax
push ebp
push edi
push dword [esp + 0x5c]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x134]
push ebx
push eax
call fcn.102c37e0
mov edi, dword [esp + 0x60]
add esp, 0x3c
mov eax, dword [esp + 0x34]
add edi, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ec0], ebx
mov dword [esp + 0x3ec4], ebp
mov dword [esp + 0x24], edi
cmp edi, eax
jb 0x102c6620
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], ebp
mov dword [esi + 0xc], eax
jmp 0x102c58c4
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
cmp al, 0x1f
mov ecx, edi
sete al
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x3c], ecx
cmp edi, ecx
jae 0x102c6850
nop dword [eax]
push edi
push esi
test al, al
je 0x102c678f
call fcn.102c72c0
add eax, ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x44], eax
call fcn.102c72c0
lea ecx, [edi + 2]
mov ebx, eax
add ebx, dword [esp + 0x30]
push ecx
push esi
mov dword [esp + 0x44], ebx
call fcn.102c72c0
lea ecx, [edi + 3]
add eax, ebp
push ecx
push esi
mov dword [esp + 0x44], eax
call fcn.102c72c0
mov ebp, eax
add esp, 0x20
mov eax, dword [esp + 0x3c]
add ebp, dword [esp + 0x24]
sub eax, edi
cmp eax, 5
jne 0x102c6783
lea eax, [edi + 4]
push eax
push esi
call fcn.102c72c0
mov edi, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x34]
add esp, 8
add ebx, eax
xor cl, cl
mov byte [esp + 0x33], cl
jmp 0x102c6806
mov eax, dword [esp + 0x2c]
xor cl, cl
mov byte [esp + 0x33], cl
jmp 0x102c6806
mov dword [esp + 0x28], ebx
call fcn.102c72c0
add eax, ebp
mov dword [esp + 0x30], eax
lea eax, [edi + 1]
push eax
push esi
mov dword [esp + 0x44], eax
call fcn.102c72c0
lea ebp, [ebx + eax]
lea eax, [edi + 2]
mov dword [esp + 0x3c], ebp
push eax
push esi
call fcn.102c72c0
add eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
lea eax, [edi + 3]
push eax
push esi
call fcn.102c72c0
add esp, 0x20
lea ebx, [eax + ebp]
mov eax, dword [esp + 0x3c]
sub eax, edi
cmp eax, 5
jne 0x102c67f9
lea eax, [edi + 4]
push eax
push esi
call fcn.102c72c0
mov edi, dword [esp + 0x3c]
mov ebp, eax
add esp, 8
add ebp, dword [esp + 0x24]
jmp 0x102c67fd
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x33], 1
push ebp
push ebx
push dword [esp + 0x2c]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x114]
push dword [esp + 0x34]
push eax
call fcn.102c37e0
mov al, byte [esp + 0x4f]
add edi, 4
add esp, 0x1c
mov dword [esp + 0x3ec0], ebx
mov dword [esp + 0x3ec4], ebp
cmp edi, dword [esp + 0x3c]
jb 0x102c6700
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
jmp 0x102c58c4
push edx
call fcn.102c1a90
mov edx, dword [esp + 0x14]
mov edi, eax
push edx
call fcn.102c1a90
movsx ecx, ax
shl edi, 8
movsx eax, di
or ecx, eax
push ecx
push esi
call fcn.102c74f0
mov edi, dword [esp + 0x2c]
add esp, 0x10
jmp 0x102c58c0
cmp al, 0xf6
ja 0x102c68b0
lea eax, [edi - 0x8b]
push eax
push esi
call fcn.102c74f0
mov edx, dword [esp + 0x18]
add esp, 8
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
push edx
cmp al, 0xfa
ja 0x102c68dc
call fcn.102c1a90
shl edi, 8
add edi, 0xffff096c
add eax, edi
push eax
push esi
call fcn.102c74f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
cmp al, 0xfe
ja 0x102c6908
call fcn.102c1a90
shl edi, 8
mov ecx, 0xfa94
sub ecx, edi
sub ecx, eax
push ecx
push esi
call fcn.102c74f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x1c]
jmp 0x102c58c4
call fcn.102c1a90
mov edi, dword [esp + 0x14]
mov ebp, eax
push edi
call fcn.102c1a90
push edi
mov ebx, eax
call fcn.102c1a90
mov edx, dword [esp + 0x1c]
mov edi, eax
push edx
call fcn.102c1a90
shl ebp, 8
or ebp, ebx
shl ebp, 8
or ebp, edi
shl ebp, 8
or eax, ebp
push eax
push esi
call fcn.102c74a0
mov ebp, dword [esp + 0x40]
add esp, 0x18
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x102c58c0
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x102c696a
cmp eax, 5
jne 0x102c6986
cmp byte [esp + 0x1b], 0
jne 0x102c6986
push 0
push esi
call fcn.102c72c0
mov ecx, dword [esp + 0x48]
add esp, 8
add eax, dword [esp + 0x48]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0xb0]
cmp byte [eax + 0x231], 0
jne 0x102c6a97
lea eax, [esp + 0x100]
push eax
call fcn.102c3210
add esp, 4
cmp byte [edi + 8], 0
jne 0x102c6a97
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x102c6a97
cmp byte [esp + 0x3ebc], 0
je 0x102c69dd
mov eax, 0x12
jmp 0x102c6a9b
push esi
call fcn.102c7440
push esi
mov edx, eax
call fcn.102c7440
push esi
mov edi, eax
call fcn.102c73d0
push esi
mov ebx, eax
call fcn.102c73d0
mov ebp, eax
lea eax, [esp + 0xd8]
push eax
push edx
push dword [esp + 0x5c]
call fcn.102c3130
add esp, 0x1c
test eax, eax
jne 0x102c6a9b
lea eax, [esp + 0x54]
push eax
push ebx
mov ebx, dword [esp + 0x24]
lea eax, [esp + 0xd0]
push ebp
push 1
push dword [esp + 0x5c]
push dword [esp + 0x64]
push eax
push ebx
call fcn.102c5600
mov ebp, dword [esp + 0x64]
lea eax, [esp + 0xe8]
push eax
push ebp
call fcn.102c2e60
lea eax, [esp + 0xf0]
push eax
push edi
push ebp
call fcn.102c3130
add esp, 0x34
test eax, eax
jne 0x102c6a9b
lea eax, [esp + 0x54]
push eax
push 0
push 0
push 1
push dword [esp + 0x5c]
lea eax, [esp + 0xdc]
push dword [esp + 0x64]
push eax
push ebx
call fcn.102c5600
lea eax, [esp + 0xe8]
push eax
push ebp
call fcn.102c2e60
add esp, 0x28
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
test edx, edx
je 0x102c6aaa
cmp dword [edx], 0
jne 0x102c6aaa
mov dword [edx], eax
push dword [esp + 0x2e78]
mov dword [esp + 0x2e6c], 0
push dword [esp + 0x2e60]
mov dword [esp + 0x2e78], 0
mov dword [esp + 0x2e7c], 0
call fcn.101028e6
push dword [esp + 0x8c]
mov dword [esp + 0x2e84], 0
push dword [esp + 0x74]
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
call fcn.101028e6
push dword [esp + 0xb4]
mov dword [esp + 0x98], 0
push dword [esp + 0x9c]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
call fcn.101028e6
push dword [esp + 0xdc]
mov dword [esp + 0xc0], 0
push dword [esp + 0xc4]
call fcn.101028e6
add esp, 0x20
test esi, esi
je 0x102c6b9a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.101028e6
push esi
push edi
mov dword [esi + 8], 0
call fcn.101028e6
add esp, 0x10
mov ecx, dword [esp + 0x3ea4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101026a7
add esp, 0x3e98
ret
xor eax, eax
jmp 0x102c6a9b