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

Disassembly:
sub esp, 0x100
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x110]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x114]
push ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
push ebp
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x114]
push esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x124]
push edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x130]
push 0x4c
mov esi, dword [edi]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x68]
push 0
push eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], esi
movups xmmword [esp + 0x48], xmm0
call fcn.10513d40
mov ebp, dword [esp + 0x140]
add esp, 0xc
mov dword [esp + 0x34], 0
test ebp, ebp
jne 0x1013ced8
movzx eax, byte [edi + 0x916d8]
push eax
push dword [esi + 0xec]
call fcn.10081820
movzx ecx, byte [edi + 0x916d8]
mov esi, eax
push ecx
mov ecx, dword [edi]
push dword [ecx + 0xec]
call fcn.10081a90
add esp, 0x10
cmp esi, eax
jl 0x1013d3ab
movzx eax, byte [edi + 0x916d8]
push eax
mov eax, dword [edi]
push 0
push dword [eax + 0xec]
call fcn.100819d0
add esp, 0xc
test eax, eax
jne 0x1013cefd
test ebp, ebp
jmp 0x1013d380
cmp dword [edi + 0x3eea8], 0
mov ecx, 1
jne 0x1013cf38
mov eax, dword [edi]
cmp dword [eax + 0x59f4], 0
jne 0x1013cf38
mov eax, dword [edi + 0x3ebb8]
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [edi + 0x3ebb4]
cmp eax, ecx
mov dword [edi + 0x3ebb8], ecx
cmovge eax, ecx
mov dword [edi + 0x3ebb4], eax
push dword [edi + 0x5cd5c]
lea ebx, [edi + 0x3abf0]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push ebx
call fcn.1006f620
add esp, 0x10
test eax, eax
je 0x1013cf69
push str.Failed_to_allocate_context_buffers
push 2
push dword [ebx + 0x2c]
call fcn.1006e850
add esp, 0xc
cmp dword [edi + 0x3eea8], 1
je 0x1013d00a
cmp byte [edi + 0x916d8], 1
je 0x1013d00a
mov eax, dword [ebx + 0x1f8]
movzx esi, byte [eax + 0x1078ad60]
mov eax, dword [ebx + 0x1e8]
dec eax
add eax, esi
cdq
idiv esi
mov ebp, eax
mov eax, dword [ebx + 0x1e4]
dec eax
add eax, esi
cdq
idiv esi
mov esi, eax
imul esi, ebp
cmp esi, dword [edi + 0x3abd4]
jle 0x1013d004
push dword [edi + 0x3abd0]
call fcn.1006eaa0
imul eax, esi, 0x54
mov dword [edi + 0x3abd0], 0
mov dword [edi + 0x3abd4], 0
push eax
call fcn.1006eac0
add esp, 8
mov dword [edi + 0x3abd0], eax
test eax, eax
jne 0x1013cffe
push 0x105f1460
push 2
push dword [ebx + 0x2c]
call fcn.1006e850
add esp, 0xc
mov dword [edi + 0x3abd4], esi
mov dword [edi + 0x3abd8], ebp
mov dword [edi + 0x3f0b0], 0
cmp dword [edi + 0x3eea8], 1
je 0x1013d04c
mov ecx, dword [edi]
cmp dword [ecx + 0xec28], 0
jne 0x1013d04c
push dword [edi + 0x3eba8]
lea eax, [edi + 0x3adc8]
push 0
push dword [edi + 0x3ea9c]
push dword [edi + 0x3ea98]
push eax
push ecx
call fcn.1015bc60
add esp, 0x18
mov ecx, dword [edi + 0x3eea8]
mov dword [edi + 0x917dc], 0
test ecx, ecx
jne 0x1013d104
mov eax, dword [edi]
cmp dword [eax + 0x59f4], ecx
jne 0x1013d104
cmp byte [edi + 0x3eeb8], 1
jne 0x1013d104
cmp dword [edi + 0x3eba8], ecx
jne 0x1013d104
lea esi, [ecx + 1]
mov ebx, dword [esp + 0x18]
cmp dword [edi + 0x3eea8], 1
je 0x1013d301
cmp byte [edi + 0x916d8], 1
je 0x1013d301
movzx eax, byte [edi + 0x6d660]
mov edx, dword [esp + 0x14]
mov cl, byte [eax + edx + 0x100]
cmp cl, 4
jne 0x1013d0c9
cmp byte [eax + edx + 0x187a], 0
je 0x1013d0e6
mov eax, dword [edi]
cmp dword [eax + 0xfc], 0
je 0x1013d0d9
cmp cl, 4
je 0x1013d0e6
mov dword [esp + 0x7c], 0
cmp cl, 5
jne 0x1013d0ee
mov dword [esp + 0x7c], 1
cmp dword [edi + 0x3ac00], 0
mov ebx, dword [ebx]
jne 0x1013d1db
xor eax, eax
jmp 0x1013d261
xor esi, esi
cmp ecx, 1
je 0x1013d08a
cmp byte [edi + 0x916d8], 1
je 0x1013d08a
mov ecx, dword [edi]
movzx eax, byte [edi + 0x6d660]
cmp dword [ecx + eax*4 + 0x30ec], esi
jle 0x1013d16e
movsd xmm0, qword [ecx + 0xab20]
movsd qword [edi + 0x5cc70], xmm0
movsd xmm0, qword [ecx + 0xab28]
movsd qword [edi + 0x5cc78], xmm0
movsd xmm0, qword [ecx + 0xab30]
movsd qword [edi + 0x5cc80], xmm0
movsd xmm0, qword [ecx + 0xab38]
movsd qword [edi + 0x5cc88], xmm0
movups xmm0, xmmword [ecx + 0x10920]
mov ebx, dword [esp + 0x18]
movups xmmword [edi + 0x91750], xmm0
movups xmm0, xmmword [ecx + 0x10930]
movups xmmword [edi + 0x91760], xmm0
movups xmm0, xmmword [ecx + 0x10940]
movups xmmword [edi + 0x91770], xmm0
movups xmm0, xmmword [ecx + 0x10950]
movups xmmword [edi + 0x91780], xmm0
movq xmm0, qword [ecx + 0x10960]
movq qword [edi + 0x91790], xmm0
mov eax, dword [ecx + 0x10968]
mov dword [edi + 0x91798], eax
lea eax, [esp + 0x64]
push dword [ebx]
push eax
push edi
call fcn.101484a0
add esp, 0xc
jmp 0x1013d08e
movzx eax, byte [edi + 0x916d8]
push eax
mov eax, dword [edi]
push 0
push dword [eax + 0xec]
call fcn.100819d0
add esp, 0xc
test eax, eax
je 0x1013d258
cmp byte [edi + 0x3eb9a], 0
jne 0x1013d212
test dword [eax + 0xac], 0x10000000
jne 0x1013d212
xor edx, edx
jmp 0x1013d217
mov edx, 1
cmp byte [edi + 0x3eae9], 0
jne 0x1013d230
test dword [eax + 0xac], 0x20000000
jne 0x1013d230
xor ecx, ecx
jmp 0x1013d235
mov ecx, 1
cmp dword [edi + 0x5cbc4], 0
je 0x1013d247
test bl, 1
jne 0x1013d247
xor eax, eax
jmp 0x1013d24c
mov eax, 1
test edx, edx
jne 0x1013d254
test ecx, ecx
je 0x1013d258
test eax, eax
je 0x1013d25d
mov eax, 1
mov edx, dword [esp + 0x14]
and dword [esp + 0x7c], eax
cmp dword [edi + 0x3eb24], 0
mov dword [esp + 0x10], esi
je 0x1013d2bf
mov bl, byte [edi + 0x6d660]
movzx eax, bl
mov cl, byte [eax + edx + 0x100]
cmp cl, 4
je 0x1013d290
mov dword [esp + 0x10], esi
cmp cl, 5
jne 0x1013d2bf
mov ebp, dword [edx + eax*4 + 0x1d64]
xor ecx, ecx
mov dword [esp + 0x10], esi
test bl, bl
je 0x1013d2bf
add edx, 0x1d64
mov dword [esp + 0x10], esi
nop dword [eax + eax]
cmp ebp, dword [edx]
je 0x1013d2e2
inc ecx
movzx eax, bl
add edx, 4
cmp ecx, eax
jl 0x1013d2b0
mov ebp, dword [esp + 0x14]
movzx eax, byte [edi + 0x6d660]
cmp byte [eax + ebp + 0x100], 4
jne 0x1013d311
mov eax, dword [edi]
mov dword [eax + 0xfc], 0
jmp 0x1013d311
mov ebp, dword [esp + 0x14]
cmp byte [ecx + ebp + 0x35ce], 0
je 0x1013d2c3
mov dword [esp + 0x7c], 0
mov byte [edi + 0x917d4], 1
jmp 0x1013d2c3
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x10], esi
xor ebx, ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x7c], ebx
je 0x1013d34f
movzx eax, byte [edi + 0x916d8]
push eax
mov eax, dword [edi]
push ebx
push dword [eax + 0xec]
call fcn.100819d0
mov esi, eax
mov dword [esp + 0x80], 1
mov eax, dword [esp + 0x34]
add esp, 0xc
mov dword [eax], 1
jmp 0x1013d375
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x30]
push eax
lea eax, [esp + 0x140]
push eax
push edi
call fcn.1013ec50
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov esi, eax
test esi, esi
jne 0x1013d3b3
cmp dword [esp + 0x134], esi
je 0x1013d3ab
cmp dword [edi + 0x3eea8], 1
jne 0x1013d3ab
mov eax, dword [edi]
cmp dword [eax + 0x88e8], 0
jne 0x1013d3ab
push edi
call fcn.10082130
mov eax, dword [edi]
add esp, 4
mov dword [eax + 0x88e8], 1
or eax, 0xffffffff
jmp 0x1013e36d
movzx eax, byte [edi + 0x6d660]
mov edx, esi
mov dword [ebp + eax*4 + 0x197c], 0
mov eax, dword [edi]
mov dword [esp + 0x3c], edx
cmp dword [eax + 0xc4a8], 0
jne 0x1013d3e9
cmp dword [edi + 0x5cc18], 0
jne 0x1013d3e9
test ebx, ebx
je 0x1013d402
mov dword [esp + 0x40], ebx
jmp 0x1013d40a
test ebx, ebx
je 0x1013d402
push ebx
lea eax, [esp + 0x40]
push eax
push edi
call fcn.10086b80
mov edx, dword [esp + 0x48]
add esp, 0xc
jmp 0x1013d40a
mov dword [esp + 0x40], 0
mov ecx, dword [esi + 0xa0]
sub ecx, dword [esi + 0x98]
mov eax, dword [esi + 0xa4]
sbb eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
mov dword [edi + 0x3f018], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov ecx, dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
cmp ecx, dword [edi + 0x5cb94]
jg 0x1013d49d
jl 0x1013d479
cmp eax, dword [edi + 0x5cb90]
jae 0x1013d49d
mov dword [edi + 0x5cb90], eax
mov dword [edi + 0x5cb94], ecx
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov dword [edi + 0x5cb88], eax
mov dword [edi + 0x5cb8c], ecx
push dword [esi + 0xac]
push edi
call fcn.1008cc40
mov eax, dword [esi + 0xac]
add esp, 8
mov ecx, dword [esp + 0x18]
and eax, 1
cmp dword [esp + 0x74], 0
mov dword [ecx], eax
je 0x1013d627
mov edx, dword [edi]
mov ebx, dword [esi + 0xa0]
mov ebp, dword [esi + 0xa4]
mov ecx, dword [esi + 0x98]
cmp dword [edx + 0xc4a8], 0
mov eax, dword [esi + 0x9c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], 0
je 0x1013d534
cmp dword [edi + 0x91588], 0
jle 0x1013d534
push dword [edi + 0x3ac24]
movsd xmm0, qword [edi + 0x915a8]
push dword [edi + 0x3ac20]
movsd qword [edi + 0x5cca8], xmm0
push edi
call fcn.100cb620
add esp, 0xc
jmp 0x1013d61f
cmp ecx, dword [edi + 0x5cb90]
jne 0x1013d552
cmp eax, dword [edi + 0x5cb94]
jne 0x1013d552
sub ebx, ecx
mov dword [esp + 0x30], 1
sbb ebp, eax
jmp 0x1013d5b2
mov eax, dword [edi + 0x5cb88]
mov edx, eax
sub edx, dword [edi + 0x5cb80]
mov ecx, dword [edi + 0x5cb8c]
mov esi, ecx
sbb esi, dword [edi + 0x5cb84]
sub ebx, eax
mov eax, edx
mov dword [esp + 0x54], edx
sbb ebp, ecx
mov dword [esp + 0x1c], esi
or eax, esi
je 0x1013d5b2
push dword [esp + 0x1c]
mov esi, ebx
push dword [esp + 0x58]
sub esi, edx
mov edx, ebp
mov eax, esi
sbb edx, dword [esp + 0x24]
mov ecx, edx
shld ecx, eax, 2
shl eax, 2
add esi, eax
adc edx, ecx
shld edx, esi, 1
add esi, esi
push edx
push esi
call fcn.10511aa0
mov dword [esp + 0x30], eax
mov esi, ebx
or esi, ebp
je 0x1013d5f7
mov edx, ebp
mov ecx, ebx
call fcn.10511ed0
cmp dword [esp + 0x30], 0
movsd qword [esp + 0x54], xmm0
je 0x1013d662
movsd xmm1, qword [0x1059baa0]
sub esp, 8
divsd xmm1, xmm0
movsd qword [esp], xmm1
push edi
movsd qword [edi + 0x8f1c8], xmm1
call fcn.10091000
add esp, 0xc
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x5cb80], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x5cb84], eax
mov dword [edi + 0x5cb88], esi
mov dword [edi + 0x5cb8c], ebx
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x7c], 0
jne 0x1013d764
mov ecx, dword [edi + 0x91544]
test ecx, ecx
je 0x1013d6e7
lea eax, [edi + 0x3e3ec]
push eax
push 0
push dword [ebp + 4]
push dword [ebp]
push dword [ebx + 4]
push dword [ebx]
push ecx
call fcn.1011ec50
add esp, 0x1c
jmp 0x1013d6f0
mov esi, dword [esp + 0x24]
mov ecx, esi
sub ecx, dword [edi + 0x5cb90]
mov ebx, dword [esp + 0x28]
mov edx, ebx
sbb edx, dword [edi + 0x5cb94]
call fcn.10511ed0
movsd xmm4, qword [0x1059baa0]
movsd xmm3, qword [edi + 0x5cca8]
minsd xmm0, xmm4
movaps xmm1, xmm4
movzx eax, byte [edi + 0x6d660]
divsd xmm1, xmm3
mov ecx, dword [edi]
movaps xmm2, xmm0
subsd xmm2, xmm1
addsd xmm2, qword [esp + 0x54]
mulsd xmm2, xmm1
divsd xmm2, xmm0
divsd xmm4, xmm2
movsd qword [edi + 0x8f1c8], xmm4
cmp dword [ecx + eax*4 + 0x30ec], 0
jg 0x1013d6d1
movaps xmm3, xmm4
sub esp, 8
movsd qword [esp], xmm3
push edi
call fcn.10091000
add esp, 0xc
jmp 0x1013d5ff
mov eax, dword [edi + 0x3e7a8]
mov al, byte [eax + 0x6d]
mov ecx, dword [edi + 0x3acc8]
mov ebp, dword [esp + 0x12c]
push 0
push 2
mov byte [ecx + 0x230], al
push dword [ebp + 4]
push dword [ebp]
call fcn.10511aa0
mov ebx, edx
mov esi, eax
test ebx, ebx
jl 0x1013d726
jg 0x1013d720
test esi, esi
je 0x1013d726
add esi, 0xffffffff
adc ebx, 0xffffffff
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 8]
cdq
push dword [ecx + 4]
push dword [ecx]
push edx
push eax
call fcn.10511b50
push dword [ebp + 4]
add eax, esi
push dword [ebp]
adc edx, ebx
push edx
push eax
call fcn.10511aa0
test edx, edx
ja 0x1013e206
jb 0x1013d75e
cmp eax, 0xffffffff
ja 0x1013e206
mov dword [edi + 0x3acc0], eax
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1013d7a4
mov eax, dword [esp + 0x18]
push dword [eax]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x70]
push eax
push edi
call fcn.100c9ed0
push edi
call fcn.1013f510
add esp, 0x14
test eax, eax
je 0x1013d7a4
xor eax, eax
cmp byte [edi + 0x6d660], al
sete al
push eax
push edi
call fcn.100cbb30
add esp, 8
cmp dword [esp + 0x7c], 0
movzx eax, byte [edi + 0x6d660]
mov ebp, dword [esp + 0x14]
mov bl, byte [eax + ebp + 0x100]
mov al, byte [esp + 0x68]
mov byte [esp + 0x4c], bl
je 0x1013d7dc
test al, al
movzx ecx, al
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x10], ecx
mov byte [esp + 0x68], cl
jmp 0x1013d7e0
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x3ee80]
mov dword [esp + 0xac], eax
test esi, esi
jne 0x1013d862
mov eax, dword [edi + 0x3eea8]
cmp eax, 1
je 0x1013d813
cmp byte [edi + 0x916d8], 1
je 0x1013d813
test eax, eax
jne 0x1013d862
mov eax, dword [edi]
cmp dword [eax + 0x59f4], esi
jne 0x1013d862
cmp dword [edi + 0x3ac00], 0
je 0x1013d82e
cmp dword [edi + 0x3ead0], 0
je 0x1013d82e
mov eax, dword [esp + 0x18]
test byte [eax], 1
je 0x1013d844
cmp bl, 4
je 0x1013d844
cmp bl, 5
je 0x1013d844
xor dl, dl
mov dword [esp + 0x10], edx
mov byte [esp + 0x68], dl
jmp 0x1013d866
cmp dword [edi + 0x3eea8], 1
je 0x1013d856
cmp byte [edi + 0x916d8], 1
jne 0x1013d862
mov dl, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0x68], dl
jmp 0x1013d866
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x3eea8]
test eax, eax
jne 0x1013d897
mov eax, dword [edi]
cmp dword [eax + 0x59f4], 0
jne 0x1013d89c
cmp byte [edi + 0x3eb60], 3
jne 0x1013d89c
push edi
call fcn.101341a0
mov dl, byte [esp + 0x6c]
add esp, 4
mov dword [esp + 0x10], edx
jmp 0x1013d8c6
cmp eax, 1
je 0x1013d8a5
cmp byte [edi + 0x916d8], 1
jne 0x1013d8c6
cmp dword [edi + 0x3eb34], 0
jne 0x1013d8be
cmp dword [edi + 0x3eb30], 0
jne 0x1013d8be
mov eax, 1
jmp 0x1013d8c0
xor eax, eax
mov dword [edi + 0x16bac], eax
cmp dword [edi + 0x3eea8], 1
mov ecx, 3
je 0x1013d939
cmp byte [edi + 0x916d8], 1
je 0x1013d939
cmp byte [edi + 0x3f30e], 0
movzx edx, dl
cmovne edx, ecx
cmp byte [edi + 0x3f30b], 0
mov dword [esp + 0x10], edx
mov byte [esp + 0x68], dl
je 0x1013d90e
mov al, byte [edi + 0x3f30a]
mov byte [edi + 0x3adc4], al
mov byte [edi + 0x3f30b], 0
mov al, byte [edi + 0x3f30c]
xor ecx, ecx
test dl, dl
mov byte [edi + 0x3adae], al
movzx eax, byte [edi + 0x3f30d]
setne cl
and ecx, eax
cmp dl, 3
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x64], ecx
test dl, dl
jne 0x1013d971
cmp dword [esp + 0x74], 0
jne 0x1013d976
xor esi, esi
movzx eax, byte [edi + 0x6d660]
movzx ecx, bl
mov al, byte [eax + ebp + 0x187a]
mov dword [edi + 0x5cbd0], 0
cmp ecx, 6
ja case.default.0x1013d96a
jmp dword [ecx*4 + 0x1013e388]
cmp dl, 3
jne 0x1013d944
cmp dword [esp + 0x7c], 0
jne 0x1013d944
mov esi, 1
jmp 0x1013d946
mov word [esp + 0xa8], 0x101
mov byte [esp + 0xaa], 1
jmp case.default.0x1013d96a
mov word [esp + 0xa8], 0
jmp 0x1013da3d
mov word [esp + 0xa8], 1
jmp 0x1013da3d
test al, al
jne 0x1013d9db
mov word [esp + 0xa8], 0x101
mov byte [esp + 0xaa], 1
mov dword [edi + 0x5cbd0], 1
jmp case.default.0x1013d96a
mov word [esp + 0xa8], 1
mov byte [esp + 0xaa], 0
mov dword [edi + 0x5cbd0], 1
jmp case.default.0x1013d96a
mov byte [esp + 0xaa], 1
test al, al
jne 0x1013da11
mov word [esp + 0xa8], 0x101
jmp case.default.0x1013d96a
mov word [esp + 0xa8], 0
jmp case.default.0x1013d96a
mov word [esp + 0xa8], 0
mov dword [edi + 0x5cbd0], 1
jmp 0x1013da3d
mov word [esp + 0xa8], 0x100
mov byte [esp + 0xaa], 0
cmp byte [edi + 0x3f309], 0
je 0x1013daf2
cmp dword [edi + 0x3eea8], 1
je 0x1013daf2
cmp byte [edi + 0x916d8], 1
je 0x1013daf2
movzx eax, byte [edi + 0x3f306]
mov cl, byte [edi + 0x3f305]
mov edx, dword [edi]
mov byte [esp + 0xa9], al
movzx eax, byte [edi + 0x3f308]
mov byte [esp + 0xa8], cl
mov byte [esp + 0xaa], al
test cl, cl
je 0x1013dab2
movzx eax, byte [edi + 0x6d660]
mov byte [eax + edx + 0x100], 2
mov al, byte [esp + 0x68]
mov dword [esp + 0x10], eax
cmp byte [edi + 0x3f308], 0
je 0x1013dad2
movzx eax, byte [edi + 0x6d660]
mov byte [eax + edx + 0x100], 3
mov al, byte [esp + 0x68]
mov dword [esp + 0x10], eax
cmp byte [edi + 0x3f306], 0
je 0x1013daf2
movzx eax, byte [edi + 0x6d660]
mov byte [eax + edx + 0x100], 6
mov al, byte [esp + 0x68]
mov dword [esp + 0x10], eax
test esi, esi
je 0x1013db08
mov word [esp + 0xa8], 0x101
mov byte [esp + 0xaa], 1
cmp dword [edi + 0x3eea8], 1
je 0x1013db1e
cmp byte [edi + 0x916d8], 1
je 0x1013db1e
xor eax, eax
jmp 0x1013db23
mov eax, 1
test eax, eax
jne 0x1013e072
mov eax, dword [edi]
movzx ecx, byte [edi + 0x6d660]
push 0x40
cmp byte [ecx + eax + 0x100], 0
lea eax, [esp + 0xd0]
jne 0x1013db57
push 0xffffffffffffffff
push eax
call fcn.10513d40
add esp, 0xc
jmp 0x1013dbf6
push 0
push eax
call fcn.10513d40
mov ecx, 8
lea esi, [esp + 0xdc]
add esp, 0xc
mov dword [esp + 0x1c], ecx
mov ebp, 1
lea ebx, [edi + 0x3ad7c]
nop dword [eax]
cmp dword [esi], 0xffffffff
mov edx, dword [ebx]
je 0x1013dbe2
test edx, edx
jne 0x1013db9a
mov dword [esi], 0xffffffff
mov dword [esi - 4], 0xffffffff
jmp 0x1013dbe2
cmp dword [edx], 1
jle 0x1013dbd7
mov eax, ebp
cmp ebp, 8
jge 0x1013dbd7
lea ecx, [ebx + 4]
nop dword [eax]
cmp dword [ecx], edx
jne 0x1013dbca
mov dword [esp + eax*8 + 0xd0], 0xffffffff
mov dword [esp + eax*8 + 0xcc], 0xffffffff
inc eax
add ecx, 4
cmp eax, 8
jl 0x1013dbb0
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0x24]
mov dword [esi], eax
mov eax, dword [edx + 0x44]
mov dword [esi - 4], eax
add ebx, 4
inc ebp
add esi, 8
sub ecx, 1
mov dword [esp + 0x1c], ecx
jne 0x1013db80
mov ebp, dword [esp + 0x14]
mov cl, byte [edi + 0x6d660]
movzx eax, cl
movzx edx, byte [eax + ebp + 0x1fa]
add edx, dword [edi + 0x3ac00]
movzx eax, cl
mov dword [esp + 0x1c], edx
cmp dword [ebp + eax*4 + 0x30ec], 0
jne 0x1013dccf
cmp byte [edi + 0x3f309], 0
jne 0x1013dc57
lea eax, [edi + 0x3accc]
push eax
push 1
movzx eax, cl
push eax
push edi
push edx
lea eax, [esp + 0xe0]
push eax
call fcn.1013e3d0
mov al, byte [esp + 0x80]
add esp, 0x18
mov dword [esp + 0x10], eax
jmp 0x1013dccf
mov edx, dword [edi]
cmp dword [edx + 0x1335c], 0
jne 0x1013dc6f
push edi
call fcn.1013f510
add esp, 4
test eax, eax
je 0x1013dccf
mov eax, dword [edx + 0x13320]
mov dword [edi + 0x3accc], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x13324]
mov dword [edi + 0x3acd0], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x13328]
mov dword [edi + 0x3acd4], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x1332c]
mov dword [edi + 0x3acd8], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x13330]
mov dword [edi + 0x3acdc], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x13334]
mov dword [edi + 0x3ace0], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x13338]
mov dword [edi + 0x3ace4], eax
xor bl, bl
xor esi, esi
mov cl, byte [esi + 0x1078c86c]
lea eax, [ecx - 1]
cmp al, 7
ja 0x1013dd13
movsx eax, cl
mov edx, dword [edi + eax*4 + 0x3acc8]
cmp edx, 0xffffffff
je 0x1013dd13
mov edx, dword [edi + edx*4 + 0x3ad7c]
mov ecx, edx
neg ecx
sbb ecx, ecx
lea eax, [edx + 0x4c8]
and ecx, eax
mov dword [esp + esi*4 + 0xb0], ecx
test edx, edx
je 0x1013dd1e
mov bl, 1
jmp 0x1013dd1e
mov dword [esp + esi*4 + 0xb0], 0
inc esi
cmp esi, 7
jl 0x1013dcd3
test bl, bl
jne 0x1013dd3c
mov eax, dword [esp + 0x10]
cmp al, 1
je 0x1013e206
cmp al, 3
je 0x1013e206
cmp dword [edi + 0x3eea8], 0
jne 0x1013dd69
mov eax, dword [edi]
cmp dword [eax + 0x59f4], 0
jne 0x1013dd69
cmp byte [edi + 0x3eeb8], 1
jne 0x1013dd69
cmp dword [edi + 0x3eba8], 0
jne 0x1013dd69
mov ecx, 1
jmp 0x1013dd6b
xor ecx, ecx
mov ebx, dword [edi + 0x3f300]
mov ebp, 1
mov dword [esp + 0x20], ecx
nop word [eax + eax]
mov eax, dword [esp + ebp*4 + 0xb0]
test ecx, ecx
je 0x1013dda3
cmp byte [ebp + 0x1078c86c], 4
jne 0x1013dda3
mov esi, dword [edi + 0x5d0a4]
xor edx, edx
inc esi
test esi, esi
jle 0x1013dde0
jmp 0x1013dda7
mov esi, ebp
xor edx, edx
cmp eax, dword [esp + edx*4 + 0xb0]
jne 0x1013ddca
movsx ecx, byte [edx + 0x1078c86c]
mov eax, 1
dec ecx
shl eax, cl
test ebx, eax
jne 0x1013ddd1
mov eax, dword [esp + ebp*4 + 0xb0]
inc edx
cmp edx, esi
jl 0x1013dda7
jmp 0x1013dddc
movsx eax, byte [ebp + 0x1078c86c]
dec eax
btr ebx, eax
mov ecx, dword [esp + 0x20]
inc ebp
cmp ebp, 7
jl 0x1013dd80
mov dl, byte [edi + 0x6d660]
mov ecx, dword [edi]
movzx eax, dl
mov dword [esp + 0x84], ebx
cmp byte [eax + ecx + 0x34d4], 0
je 0x1013de0c
mov dword [esp + 0x6c], 7
jmp 0x1013de6d
mov eax, dword [esp + 0x10]
test al, al
je 0x1013de64
cmp al, 2
je 0x1013de64
cmp dword [esp + 0x64], 0
jne 0x1013de64
cmp byte [edi + 0x3f30f], 0
jne 0x1013de64
cmp dword [edi + 0x91810], 0
je 0x1013debb
movzx eax, dl
mov edx, dword [ecx + eax*4 + 0x2d04]
mov ecx, 1
lea eax, [ecx - 1]
cmp al, 7
ja 0x1013de57
movsx eax, cl
mov eax, dword [edi + eax*4 + 0x3acc8]
jmp 0x1013de5a
or eax, 0xffffffff
cmp eax, edx
je 0x1013deb6
inc ecx
cmp ecx, 7
jle 0x1013de44
mov edx, 7
mov dword [esp + 0x6c], edx
cmp byte [edi + 0x917a0], 0
movzx esi, byte [edi + 0x6d660]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
movzx eax, byte [esi + ebp + 0x1fa]
mov dword [esp + 0x70], eax
jne 0x1013df60
lea eax, [esp + 0xcc]
push eax
push ebx
push esi
push dword [esp + 0x58]
lea eax, [esp + 0x74]
push eax
push edi
call fcn.1013ea40
add esp, 0x18
jmp 0x1013df6d
lea edx, [ecx - 1]
jmp 0x1013de69
cmp dword [edi + 0x3e9f8], 0
je 0x1013dec8
xor edx, edx
jmp 0x1013de69
cmp dword [ecx + 0xc4a8], 0
jne 0x1013df48
cmp dword [ecx + 0x1335c], 0
jne 0x1013df48
mov esi, dword [edi]
movzx eax, dl
mov eax, dword [esi + eax*4 + 0x3f0]
cmp eax, 7
ja case.0x1013deeb.2
jmp dword [eax*4 + 0x1013e3a4]
mov eax, 0x1096c
jmp 0x1013df0c
mov eax, 0x10970
jmp 0x1013df0c
mov eax, 0x1097c
jmp 0x1013df0c
mov eax, 0x10988
mov esi, dword [esi + eax]
mov edx, 7
mov ecx, 1
nop dword [eax]
lea eax, [ecx - 1]
cmp al, 7
ja 0x1013df33
movsx eax, cl
mov eax, dword [edi + eax*4 + 0x3acc8]
jmp 0x1013df36
or eax, 0xffffffff
cmp eax, esi
jne 0x1013df3d
lea edx, [ecx - 1]
inc ecx
cmp ecx, 7
jle 0x1013df20
jmp 0x1013de69
push edi
call fcn.10086980
mov edx, eax
add esp, 4
mov al, byte [esp + 0x68]
mov dword [esp + 0x10], eax
jmp 0x1013de69
mov ecx, dword [edi + 0x9179c]
mov eax, 1
shl eax, cl
mov dword [esp + 0x78], eax
xor ecx, ecx
cmp byte [esi + ebp + 0x34d4], cl
cmovne eax, ecx
mov dword [esp + 0x78], eax
or eax, 0xffffffff
mov dword [esp + 0x80], eax
cmp dword [esp + 0x7c], ecx
je 0x1013e072
mov ecx, dword [edi + 0x3ad7c]
test ecx, ecx
je 0x1013dfae
xor edx, edx
cmp dword [ecx + 0x24], ebx
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad80]
test ecx, ecx
je 0x1013dfca
cmp dword [ecx + 0x24], ebx
mov edx, 1
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad84]
test ecx, ecx
je 0x1013dfe6
cmp dword [ecx + 0x24], ebx
mov edx, 2
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad88]
test ecx, ecx
je 0x1013e002
cmp dword [ecx + 0x24], ebx
mov ecx, 3
cmove eax, ecx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad8c]
test ecx, ecx
je 0x1013e01e
cmp dword [ecx + 0x24], ebx
mov edx, 4
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad90]
test ecx, ecx
je 0x1013e03a
cmp dword [ecx + 0x24], ebx
mov edx, 5
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad94]
test ecx, ecx
je 0x1013e056
cmp dword [ecx + 0x24], ebx
mov edx, 6
cmove eax, edx
mov dword [esp + 0x80], eax
mov ecx, dword [edi + 0x3ad98]
test ecx, ecx
je 0x1013e072
cmp dword [ecx + 0x24], ebx
mov edx, 7
cmove eax, edx
mov dword [esp + 0x80], eax
cmp dword [esp + 0x7c], 0
movups xmm0, xmmword [edi + 0x3accc]
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [edi + 0x3acdc]
mov dword [edi + 0x181f0], 0
mov dword [edi + 0x181f4], 0
movups xmmword [esp + 0x98], xmm0
jne 0x1013e0b7
mov al, byte [edi + 0x3eb65]
mov byte [edi + 0x3d220], al
mov eax, dword [esp + 0x10]
test al, al
je 0x1013e0c7
cmp al, 2
je 0x1013e0c7
xor ecx, ecx
jmp 0x1013e0cc
mov ecx, 1
mov eax, dword [edi + 0x3eea8]
lea edx, [edi + 0x3ada8]
cmp eax, 1
je 0x1013e0fd
cmp byte [edi + 0x916d8], 1
je 0x1013e0fd
test eax, eax
je 0x1013e0ef
cmp eax, 2
jl 0x1013e0fd
test ecx, ecx
je 0x1013e0fd
push edx
push edi
call fcn.10092600
add esp, 8
cmp dword [edi + 0x3eea8], 0
jne 0x1013e1e2
mov eax, dword [edi]
cmp dword [eax + 0x59f4], 0
jne 0x1013e1e2
cmp byte [edi + 0x3eeb8], 1
jne 0x1013e1e2
cmp dword [edi + 0x3eba8], 0
jne 0x1013e1e2
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x44]
push edi
call fcn.1008fe50
add esp, 0x14
test eax, eax
jne 0x1013e206
mov eax, dword [edi]
cmp dword [eax + 0x5a9c], 0
je 0x1013e19f
cmp dword [edi + 0x3eea8], 1
je 0x1013e295
cmp byte [edi + 0x916d8], 1
je 0x1013e19f
cmp dword [edi + 0x3ad9c], 0
je 0x1013e19f
cmp dword [edi + 0x5d16c], 0
je 0x1013e19f
cmp byte [edi + 0x3abf0], 0
je 0x1013e19f
lea eax, [edi + 0x3f01c]
mov dword [edi + 0x3eee0], eax
cmp dword [edi + 0x3eea8], 1
je 0x1013e295
cmp byte [edi + 0x916d8], 1
je 0x1013e295
cmp dword [edi + 0x3ada4], 0
je 0x1013e210
cmp byte [edi + 0x3adb2], 0
je 0x1013e1d4
cmp byte [edi + 0x3abf0], 0
jne 0x1013e210
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
and ecx, 0xfffffff0
jmp 0x1013e264
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x44]
push ecx
push dword [esp + 0x44]
push edi
call fcn.1013ee70
add esp, 0x14
test eax, eax
je 0x1013e157
mov eax, 1
jmp 0x1013e36d
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfffffffd
or ecx, 2
cmp byte [edi + 0x3f2f8], 0
cmove ecx, eax
mov dword [edx], ecx
mov eax, ecx
and eax, 0xfffffff7
or ecx, 8
cmp byte [edi + 0x3f2fa], 0
cmove ecx, eax
mov dword [edx], ecx
mov eax, ecx
and eax, 0xfffffffb
or ecx, 4
cmp byte [edi + 0x3f2f9], 0
cmove ecx, eax
mov eax, ecx
mov dword [edx], ecx
or eax, 1
and ecx, 0xfffffffe
cmp byte [edi + 0x3abf0], 0
cmove ecx, eax
mov dword [edx], ecx
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1013e274
cmp al, 2
jne 0x1013e279
or ecx, 0x10
mov dword [edx], ecx
cmp byte [edi + 0x3abf0], 3
jne 0x1013e287
or ecx, 0x20
mov dword [edx], ecx
cmp byte [edi + 0x3adb2], 0
je 0x1013e295
or ecx, 0x40
mov dword [edx], ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x34]
mov dword [ecx], eax
test eax, eax
je 0x1013e2fb
mov eax, dword [edi]
cmp dword [eax + 0x1335c], 0
je 0x1013e2b6
mov eax, dword [eax + 0x13360]
jmp 0x1013e2f5
cmp byte [edi + 0x3f309], 0
je 0x1013e2f3
cmp byte [edi + 0x3f308], 0
jne 0x1013e2f3
cmp byte [edi + 0x3f307], 0
jne 0x1013e2f3
cmp byte [edi + 0x3f306], 0
jne 0x1013e2f3
cmp byte [edi + 0x3f305], 0
jne 0x1013e2f3
cmp byte [edi + 0x3f304], 0
jne 0x1013e2f3
mov eax, 1
jmp 0x1013e2f5
xor eax, eax
mov dword [edi + 0x6d664], eax
cmp dword [ecx], 0
jbe 0x1013e36b
mov eax, dword [edi]
cmp dword [eax + 0xc4a8], 0
jne 0x1013e314
cmp dword [edi + 0x3eb24], 0
jle 0x1013e36b
mov eax, dword [edi + 0x91590]
dec eax
cmp dword [edi + 0x91588], eax
jne 0x1013e36b
cmp dword [edi + 0x9158c], 0
jne 0x1013e36b
mov ecx, dword [edi + 0x3eee8]
lea esi, [edi + 0x91608]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x1013e36b
mov eax, dword [ecx + 8]
cmp eax, dword [edi + 0x91610]
jne 0x1013e36b
push esi
push ecx
call fcn.100f65d0
push esi
push dword [edi + 0x3eee8]
call fcn.100f64d0
push esi
push dword [edi + 0x3eee8]
call fcn.100f6550
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x100
ret