Function at 0x101a14d0
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
or ebx, 0xffffffff
push esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], 8
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 2], 0
call fcn.10175ad0
mov edx, dword [esi + 0xc]
mov byte [ebp - 1], 0
cmp edx, edi
jbe 0x101a1537
mov eax, dword [esi + 0x7f34]
mov ecx, dword [eax]
jmp 0x101a1539
xor ecx, ecx
fldz
xor eax, eax
cmp edx, edi
jbe 0x101a1562
fst qword [ecx + 0x30]
mov dword [ecx + 0x28], ebx
mov edx, dword [esi + 0xc]
inc eax
cmp eax, edx
jb 0x101a1555
xor ecx, ecx
mov eax, edx
jmp 0x101a155e
mov ecx, dword [esi + 0x7f34]
mov ecx, dword [ecx + eax*4]
cmp eax, edx
jb 0x101a1541
mov ecx, dword [esi + 0x10]
fstp st(0)
cmp ecx, edi
jbe 0x101a1572
mov edx, dword [esi + 0x14]
mov eax, dword [edx]
jmp 0x101a1574
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edi
cmp ecx, edi
jbe 0x101a1c3a
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x3c]
test eax, 0xf0000000
je 0x101a1b30
and eax, 0xfff00000
cmp eax, 0x20400000
je 0x101a15aa
cmp eax, 0x20500000
jne 0x101a1b30
mov ecx, dword [esi + 8]
xor edx, edx
mov dword [ebp - 0x24], edx
test ecx, ecx
jbe 0x101a1b30
jmp 0x101a15c6
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + 4]
lea esi, [eax + edx*4]
add ecx, edx
lea eax, [eax + ecx*4]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x18], 0
mov edi, edi
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0xa8], edx
mov edx, dword [ecx]
lea esi, [ebp + eax*4 - 0xa8]
mov dword [ebp - 0xa4], edx
mov ecx, dword [esi]
mov edi, 1
sub edi, eax
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor edx, edx
or eax, edx
mov dword [ebp - 0x14], edi
je 0x101a1b08
cmp dword [ecx + 0x5c], 0xffffffff
jne 0x101a1b08
cmp dword [ecx + 0x58], 0xffffffff
jne 0x101a1b08
mov ebx, dword [ecx + 0x88]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebp - 0x10]
xor eax, dword [ecx + 0x3c]
test eax, 0xfff00000
jne 0x101a1b08
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0x64]
lea eax, [ebp + eax*4 - 0x64]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx]
push eax
call fcn.101730a0
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea edx, [ecx + eax*4]
add ebx, eax
mov eax, dword [edx]
lea ecx, [ecx + ebx*4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx]
mov dword [ebp - 0x9c], eax
mov esi, dword [esi]
cmp dword [esi + 0x20], 1
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 8], 0xffffffff
mov byte [ebp - 0x35], 0
mov dword [ebp - 0x44], esi
jne 0x101a16e3
mov edx, dword [edx]
cmp edx, eax
je 0x101a16e3
mov edx, dword [ebp + edi*4 - 0x64]
mov edi, dword [ebp + 8]
push 0
lea eax, [ebp - 0x50]
push eax
mov eax, dword [edx]
lea ecx, [ebp - 8]
push ecx
push eax
mov ecx, edi
call fcn.101a0680
mov ecx, dword [ebp - 8]
push 0
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x3c]
lea edx, [ebp - 0x50]
push edx
mov edx, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [edx]
push eax
mov ecx, edi
call fcn.101a0680
test eax, eax
setge byte [ebp - 0x35]
mov dword [ebp - 0x2c], 2
lea ebx, [ebx]
mov ecx, dword [ebp - 0x2c]
mov eax, 5
sub eax, ecx
mov ecx, dword [ebp + ecx*4 - 0xa8]
mov dword [ebp - 0x1c], eax
cmp ecx, 0xffffffff
je 0x101a1878
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor edx, edx
or eax, edx
je 0x101a1878
mov eax, dword [ecx + 0x40]
and eax, 0x800000
or eax, edx
je 0x101a1878
mov edx, dword [ebp - 0x14]
mov edx, dword [ebp + edx*4 - 0xa8]
cmp edx, 0xffffffff
je 0x101a1878
mov eax, dword [edx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor edi, edi
or eax, edi
je 0x101a1878
mov eax, dword [edx + 0x40]
and eax, 0x800000
xor edx, edx
or eax, edx
je 0x101a1878
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
mov ecx, 1
add dword [eax + 0x5c0], ecx
mov edx, dword [edx + 0xc]
mov edx, dword [edx + edi*4]
add dword [eax + 0x5c4], ecx
mov ecx, dword [eax + 0x5c8]
and ecx, 0xff000000
mov dword [ebp - 0x20], edx
cmp ecx, 0xb000000
jne 0x101a17f8
mov eax, dword [eax + 0x812c]
test al, al
jns 0x101a1b55
test eax, 0x100
jne 0x101a17c3
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x5bc]
jmp 0x101a17fe
xor edx, edx
jmp 0x101a17d0
mov eax, dword [ebp + edx*4 - 0x20]
cmp eax, 0xffffffff
je 0x101a1b55
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a1b55
inc edx
cmp edx, 1
jb 0x101a17d0
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x5bc]
test al, al
je 0x101a1b55
mov ecx, dword [ebp - 0x14]
fldz
mov esi, dword [ebp + 8]
fstp qword [ebp - 0x50]
mov ebx, dword [ebp + ecx*4 - 0xa8]
lea eax, [ebp - 0x34]
push eax
mov edi, esi
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + eax*4 - 0xa8]
lea edx, [ebp - 0x6c]
push edx
mov edi, esi
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x3c]
and eax, 0xfff00000
cmp eax, 0x20400000
je 0x101a1b67
cmp eax, 0x20500000
jne 0x101a1b6f
fld qword [ebp - 0x6c]
fmul qword [ebp - 0x34]
jmp 0x101a1b72
cmp dword [esi + 0x20], 1
jne 0x101a1b55
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0xa8]
cmp dword [edx + 0x88], 0xffffffff
je 0x101a18a1
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jae 0x101a1b55
cmp dword [edx + 0x5c], 0xffffffff
jne 0x101a1b55
cmp dword [edx + 0x58], 0xffffffff
jne 0x101a1b55
cmp ecx, 0xffffffff
je 0x101a199d
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor edi, edi
or eax, edi
je 0x101a199d
mov eax, dword [ecx + 0x40]
and eax, 0x800000
or eax, edi
je 0x101a199d
cmp edx, 0xffffffff
je 0x101a1909
mov eax, dword [edx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
or eax, edi
je 0x101a1909
mov eax, dword [edx + 0x40]
and eax, 0x800000
xor edx, edx
or eax, edx
jne 0x101a199d
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x98]
push edx
mov ebx, ecx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edx, dword [ebp - 0x10]
fld qword [ebp - 0x98]
mov ecx, dword [edx + 0x3c]
and ecx, 0xfff00000
cmp ecx, 0x20400000
jne 0x101a194d
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x101a1b53
cmp ecx, 0x20500000
jne 0x101a1966
fld1
fucompp
fnstsw ax
test ah, 0x44
jnp 0x101a1b55
jmp 0x101a1968
fstp st(0)
mov eax, dword [ebp + 8]
mov ebx, 1
add dword [eax + 0x5d4], ebx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ecx + edx*4]
push ecx
lea esi, [eax + 0x5d0]
mov ecx, eax
call fcn.1017c720
test al, al
jne 0x101a1bc1
mov esi, dword [ebp - 0x44]
jmp 0x101a1b55
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + edx*4 - 0x64]
mov edx, dword [ebp + ecx*4 - 0x64]
mov ecx, dword [edx]
cmp ecx, dword [eax]
je 0x101a1b55
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
mov ecx, 1
add dword [eax + 0x5e8], ecx
mov edx, dword [edx + 0xc]
mov edx, dword [edx + edi*4]
add dword [eax + 0x5ec], ecx
mov ecx, dword [eax + 0x5f0]
and ecx, 0xff000000
mov dword [ebp - 0x20], edx
cmp ecx, 0xb000000
jne 0x101a1a38
mov eax, dword [eax + 0x812c]
test al, al
jns 0x101a1b55
test eax, 0x100
jne 0x101a1a0c
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x5e4]
jmp 0x101a1a3e
xor edx, edx
mov edi, edi
mov eax, dword [ebp + edx*4 - 0x20]
cmp eax, 0xffffffff
je 0x101a1b55
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a1b55
inc edx
cmp edx, 1
jb 0x101a1a10
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x5e4]
test al, al
je 0x101a1b55
xor bl, bl
cmp byte [ebp - 0x35], bl
jne 0x101a1a74
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x64]
push 0
lea ecx, [ebp - 0x50]
push ecx
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push ecx
mov ecx, dword [ebp + 8]
call fcn.101a0680
test eax, eax
setge bl
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp + edx*4 - 0x64]
mov ecx, dword [edi]
cmp ecx, 0xffffffff
je 0x101a1aa5
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor edx, edx
or eax, edx
je 0x101a1aa5
mov eax, dword [ecx + 0x40]
and eax, 0x800000
xor ecx, ecx
or eax, ecx
jne 0x101a1b55
test bl, bl
jne 0x101a1aba
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edi]
mov eax, dword [ebp + edx*4 - 0x64]
cmp ecx, dword [eax]
jne 0x101a1b55
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp + ecx*4 - 0x64]
mov edi, dword [ecx]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x64]
mov edx, dword [eax]
mov dword [eax], edi
xor eax, eax
mov dword [ecx], edx
mov dword [esi + 0x8c], eax
mov dword [esi + 0x90], eax
mov eax, esi
call fcn.10165fc0
and dword [esi + 0x40], 0xffffffef
mov edx, dword [esi + 0x44]
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x44], edx
or eax, 0xffffffff
mov dword [esi + 0x28], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [edx + ecx*4]
mov dword [edx + 0x28], eax
mov byte [ebp - 1], 1
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 2
jb 0x101a15e0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 8]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, ecx
jb 0x101a15c0
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
inc edi
mov dword [ebp - 0xc], edi
cmp edi, eax
jb 0x101a1c14
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov edi, eax
jmp 0x101a1c1d
fstp st(0)
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 4
jb 0x101a16f0
jmp 0x101a1b08
fld qword [ebp - 0x6c]
fadd qword [ebp - 0x34]
jmp 0x101a1b72
fld qword [ebp - 0x50]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + ecx*4 - 0x64]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [edx]
sub esp, 8
mov dword [ecx], edx
fstp qword [esp]
mov eax, dword [esi + 0x8024]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x64]
push eax
push edx
push esi
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax + ecx*4]
mov dword [edx + 0x28], 0xffffffff
jmp 0x101a1b04
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ebp + ecx*4 - 0x64]
mov esi, dword [ecx]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x64]
mov edx, dword [eax]
mov dword [eax], esi
mov eax, dword [ebp - 0x44]
mov dword [ecx], edx
xor ecx, ecx
mov dword [eax + 0x8c], ecx
mov dword [eax + 0x90], ecx
call fcn.10165fc0
and dword [eax + 0x40], 0xffffffef
mov edx, dword [eax + 0x44]
mov dword [eax + 0x44], edx
or ecx, 0xffffffff
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov edx, dword [edx + eax*4]
mov dword [edx + 0x28], ecx
mov byte [ebp - 1], bl
jmp 0x101a1b08
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + edi*4]
mov dword [ebp - 0x10], eax
cmp edi, dword [ecx + 0x10]
jb 0x101a1582
cmp byte [ebp - 1], 0
je 0x101a1c3a
push ecx
mov byte [ebp - 2], 1
mov byte [ebp - 1], 0
call fcn.10175ad0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jbe 0x101a1c4b
mov edx, dword [eax + 0x14]
mov eax, dword [edx]
jmp 0x101a1c4d
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
test ecx, ecx
jbe 0x101a2150
nop
mov edi, dword [ebp - 0x10]
mov edx, dword [edi + 0x3c]
test edx, 0xf0000000
je 0x101a211f
mov esi, dword [edi + 8]
xor ecx, ecx
cmp esi, ecx
je 0x101a1c9f
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
and eax, 0x600000
or eax, ecx
je 0x101a1c9f
mov eax, dword [ebp + 8]
test dword [eax + 0x8124], 0x2000
jne 0x101a211f
mov eax, edx
and eax, 0xfff00000
cmp eax, 0x30000000
je 0x101a1cb8
cmp eax, 0x50700000
jne 0x101a211f
mov dword [ebp - 0x20], ecx
cmp esi, ecx
jbe 0x101a1e8a
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x20]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x14], esi
nop
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor ecx, ecx
or eax, ecx
je 0x101a1df3
cmp dword [esi + 0x5c], 0xffffffff
jne 0x101a1df3
cmp dword [esi + 0x58], 0xffffffff
jne 0x101a1df3
mov eax, dword [edi + 8]
mov edx, dword [edi]
cmp eax, edx
jae 0x101a1d1a
mov ecx, dword [edi + 4]
lea ecx, [ecx + eax*4]
cmp esi, dword [ecx]
je 0x101a1d12
inc eax
add ecx, 4
cmp eax, edx
jb 0x101a1d06
cmp eax, edx
jb 0x101a1df3
mov ebx, dword [esi + 0x88]
push esi
call fcn.101730a0
mov edx, dword [ebx + 0x3c]
and edx, 0xfff00000
cmp edx, 0x20400000
jne 0x101a1d52
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
add ebx, eax
cmp edx, dword [ecx + ebx*4]
jne 0x101a1df3
mov esi, edx
jmp 0x101a1ccc
mov ecx, dword [edi + 0x3c]
and ecx, 0xfff00000
cmp ecx, 0x20500000
jne 0x101a1df3
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov esi, dword [ecx + eax*4]
add edx, eax
mov eax, dword [ecx + edx*4]
mov dword [ebp - 8], eax
mov eax, esi
call fcn.100db360
test al, al
je 0x101a1db7
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x98]
push ecx
mov ebx, esi
call fcn.101658d0
test eax, eax
jne 0x101a1db7
fldz
fcomp qword [ebp - 0x98]
fnstsw ax
test ah, 5
jp 0x101a1db7
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
mov esi, edx
jmp 0x101a1cd0
mov eax, dword [ebp - 8]
call fcn.100db360
test al, al
je 0x101a1ded
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 8]
lea eax, [ebp - 0x50]
push eax
call fcn.101658d0
test eax, eax
jne 0x101a1ded
fldz
mov edi, dword [ebp - 0x10]
fcomp qword [ebp - 0x50]
fnstsw ax
test ah, 5
jp 0x101a1df0
mov dword [ebp - 0x14], esi
jmp 0x101a1cd0
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x20]
cmp dword [ecx + edx*4], esi
je 0x101a1e7a
mov ecx, dword [ebp + 8]
mov ebx, 1
add dword [ecx + 0x688], ebx
mov eax, dword [edi + 0xc]
mov eax, dword [eax + edx*4]
add dword [ecx + 0x68c], ebx
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0x690]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x101a1e67
mov eax, dword [ecx + 0x812c]
test al, al
jns 0x101a1e7a
test eax, 0x100
je 0x101a1e67
xor edx, edx
mov eax, dword [ebp + edx*4 - 8]
cmp eax, 0xffffffff
je 0x101a1e7a
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a1e7a
add edx, ebx
cmp edx, ebx
jb 0x101a1e44
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov al, byte [ecx + 0x684]
test al, al
je 0x101a1e7a
mov ecx, dword [edi + 4]
mov dword [ecx + edx*4], esi
mov byte [ebp - 1], bl
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [edi + 8]
jb 0x101a1cc3
mov edx, dword [edi + 0x3c]
and edx, 0xfff00000
cmp edx, 0x30000000
jne 0x101a211f
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
cmp dword [edi + 8], ebx
jbe 0x101a211f
jmp 0x101a1eb3
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*4]
mov dword [ebp - 0x14], esi
lea esp, [esp]
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor ecx, ecx
or eax, ecx
je 0x101a205f
cmp dword [esi + 0x5c], 0xffffffff
jne 0x101a205f
cmp dword [esi + 0x58], 0xffffffff
jne 0x101a205f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
cmp eax, edx
jae 0x101a1f14
mov ecx, dword [ecx + 4]
lea ecx, [ecx + eax*4]
lea esp, [esp]
cmp esi, dword [ecx]
je 0x101a1f0c
inc eax
add ecx, 4
cmp eax, edx
jb 0x101a1f00
cmp eax, edx
jb 0x101a205f
mov edi, dword [esi + 0x88]
push esi
mov ebx, edi
call fcn.101730a0
mov edx, dword [edi + 0x3c]
and edx, 0xfff00000
cmp edx, 0x20500000
jne 0x101a205c
mov ecx, dword [edi + 4]
mov ebx, dword [ecx + eax*4]
mov edx, dword [edi + 8]
add edx, eax
mov eax, dword [ecx + edx*4]
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0x28]
mov esi, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], eax
call fcn.10165a70
mov edi, eax
test edi, edi
jl 0x101a41bf
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x40]
call fcn.10165a70
mov edi, eax
test edi, edi
jl 0x101a41bf
mov ecx, ebx
call fcn.100fad30
test al, al
je 0x101a1fe7
mov ecx, esi
call fcn.1010b070
test al, al
je 0x101a1fe7
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x6c]
push ecx
call fcn.101658d0
test eax, eax
jne 0x101a1fe4
fldz
fcom qword [ebp - 0x6c]
fnstsw ax
test ah, 0x41
jne 0x101a1fe2
fcom qword [ebp - 0x40]
fnstsw ax
test ah, 5
jnp 0x101a1fd0
fcomp qword [ebp - 0x48]
fnstsw ax
test ah, 0x41
jne 0x101a1fe4
mov ebx, dword [ebp - 0x2c]
mov edx, esi
mov dword [ebp - 0x14], edx
jmp 0x101a1ec0
mov edx, dword [ebp - 0x18]
fstp st(0)
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov esi, edx
jmp 0x101a1ec0
fstp st(0)
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.100fad30
test al, al
je 0x101a2059
mov ecx, ebx
call fcn.1010b070
test al, al
je 0x101a2059
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x34]
push eax
mov ebx, esi
call fcn.101658d0
test eax, eax
jne 0x101a2059
fldz
fcom qword [ebp - 0x34]
fnstsw ax
test ah, 0x41
jne 0x101a2057
fcom qword [ebp - 0x28]
fnstsw ax
test ah, 5
jnp 0x101a2045
fcomp qword [ebp - 0xb0]
fnstsw ax
test ah, 0x41
jne 0x101a2059
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov esi, ecx
jmp 0x101a1ec0
mov ecx, dword [ebp - 8]
fstp st(0)
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov esi, ecx
jmp 0x101a1ec0
fstp st(0)
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x10]
mov edx, dword [edi + 4]
cmp dword [edx + ebx*4], esi
je 0x101a2112
mov edx, dword [ebp + 8]
mov eax, 1
add dword [edx + 0x688], eax
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + ebx*4]
add dword [edx + 0x68c], eax
mov eax, dword [edx + 0x690]
and eax, 0xff000000
mov dword [ebp - 0x1c], ecx
cmp eax, 0xb000000
jne 0x101a20db
mov eax, dword [edx + 0x812c]
test al, al
jns 0x101a2112
test eax, 0x100
je 0x101a20db
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + ecx*4 - 0x1c]
cmp eax, 0xffffffff
je 0x101a2112
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a2112
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, 1
jb 0x101a20b5
mov dl, byte [edx + 0x684]
test dl, dl
je 0x101a2112
mov edx, dword [edi + 4]
mov dword [edx + ebx*4], esi
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
lea edx, [eax + ebx]
mov esi, dword [ecx + edx*4]
lea edx, [ecx + edx*4]
lea eax, [ebx + eax*2]
mov ecx, dword [ecx + eax*4]
mov dword [edx], ecx
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
lea eax, [ebx + edx*2]
mov dword [ecx + eax*4], esi
mov byte [ebp - 1], 1
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, dword [edi + 8]
jb 0x101a1eb0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jb 0x101a213e
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov ecx, eax
jmp 0x101a2147
mov eax, dword [edx + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x10]
jb 0x101a1c60
cmp byte [ebp - 1], 0
je 0x101a2167
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 2], 1
mov byte [ebp - 1], 0
call fcn.10175ad0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
test eax, eax
jbe 0x101a2178
mov edx, dword [ecx + 0x14]
mov esi, dword [edx]
jmp 0x101a217a
xor esi, esi
xor edi, edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edi
test eax, eax
jbe 0x101a2728
lea ebx, [ebx]
mov edx, dword [esi + 0x3c]
test edx, 0xf0000000
je 0x101a26ef
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x101a21cf
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x101a21cc
mov ecx, dword [ebp + 8]
test dword [ecx + 0x8124], 0x2000
jne 0x101a26ef
mov ecx, dword [ebp + 8]
and edx, 0xfff00000
cmp edx, 0x30000000
jne 0x101a26ef
xor eax, eax
mov dword [ebp - 0x20], eax
test ebx, ebx
jbe 0x101a26ef
mov edi, edi
mov edx, dword [esi + 4]
mov ecx, dword [edx + eax*4]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor edx, edx
or eax, edx
je 0x101a26d9
or eax, 0xffffffff
cmp dword [ecx + 0x5c], eax
jne 0x101a26d9
cmp dword [ecx + 0x58], eax
jne 0x101a26d9
mov ebx, dword [ecx + 0x88]
push ecx
mov dword [ebp - 0x30], ebx
call fcn.101730a0
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfff00000
cmp eax, 0x10100000
jne 0x101a2246
mov eax, 1
jmp 0x101a2256
cmp eax, 0x20500000
jne 0x101a26d9
mov eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], 0
test eax, eax
jbe 0x101a26d9
jmp 0x101a2270
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov esi, dword [ebp - 8]
mov ecx, dword [edx + 4]
mov edi, dword [ebp - 0x14]
mov edx, dword [edx + 0x3c]
mov ebx, eax
imul ebx, esi
add ebx, edi
mov ebx, dword [ecx + ebx*4]
and edx, 0xfff00000
mov dword [ebp - 0x18], ebx
cmp edx, 0x20500000
jne 0x101a2304
mov edx, 1
sub edx, esi
imul edx, eax
add edx, edi
mov ebx, dword [ecx + edx*4]
cmp ebx, 0xffffffff
je 0x101a2705
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a2705
mov eax, dword [ebx + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a2705
mov edi, dword [ebp + 8]
lea eax, [ebp - 0xb0]
push eax
call fcn.101658d0
test eax, eax
jne 0x101a2705
fldz
fcomp qword [ebp - 0xb0]
fnstsw ax
test ah, 0x41
jnp 0x101a2705
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0x20]
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0x18]
lea ebx, [edi + eax*2]
cmp edx, dword [ecx + ebx*4]
jne 0x101a2432
add eax, edi
mov ebx, dword [ecx + eax*4]
mov dword [ebp - 0x44], ebx
cmp ebx, 0xffffffff
je 0x101a2432
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a2432
mov eax, dword [ebx + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a2432
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x98]
push ecx
call fcn.101658d0
test eax, eax
jne 0x101a242f
fldz
fcomp qword [ebp - 0x98]
fnstsw ax
test ah, 0x44
jp 0x101a242f
mov ebx, dword [ebp - 0x20]
mov edx, edi
mov eax, 1
add dword [edx + 0x69c], eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + ebx*4]
add dword [edx + 0x6a0], eax
mov eax, dword [edx + 0x6a4]
and eax, 0xff000000
mov dword [ebp - 0x3c], ecx
cmp eax, 0xb000000
jne 0x101a23f5
mov eax, dword [edx + 0x812c]
test al, al
jns 0x101a2705
test eax, 0x100
je 0x101a23f5
xor edi, edi
jmp 0x101a23d0
mov eax, dword [ebp + edi*4 - 0x3c]
cmp eax, 0xffffffff
je 0x101a2705
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a2705
inc edi
cmp edi, 1
jb 0x101a23d0
mov dl, byte [edx + 0x698]
test dl, dl
je 0x101a2705
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x18]
mov dword [ecx + ebx*4], eax
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
add edx, ebx
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
lea eax, [ebx + edx*2]
mov edx, dword [ebp - 0x44]
mov dword [ecx + eax*4], edx
mov byte [ebp - 1], 1
jmp 0x101a26d9
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor ecx, ecx
or eax, ecx
je 0x101a2705
cmp dword [edx + 0x5c], 0xffffffff
jne 0x101a2705
cmp dword [edx + 0x58], 0xffffffff
jne 0x101a2705
mov eax, dword [edx + 0x88]
mov ecx, dword [eax + 0x3c]
and ecx, 0xfff00000
mov dword [ebp - 0x18], eax
cmp ecx, 0x30000000
jne 0x101a2705
push edx
mov ebx, eax
call fcn.101730a0
fldz
mov ecx, dword [ebx + 4]
mov edx, eax
mov eax, dword [ebx + 8]
lea esi, [eax + edx]
mov ebx, dword [ecx + esi*4]
fcom qword [ebx + 0xd8]
mov dword [ebp - 0x24], edx
lea edx, [edx + eax*2]
mov esi, dword [ecx + edx*4]
fnstsw ax
test ah, 1
je 0x101a2541
fstp st(0)
cmp ebx, 0xffffffff
je 0x101a2705
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a24ef
mov eax, dword [ebx + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a24ef
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x6c]
push eax
call fcn.101658d0
test eax, eax
jne 0x101a24ef
fldz
fcom qword [ebp - 0x6c]
fnstsw ax
test ah, 1
je 0x101a2541
fstp st(0)
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a2705
mov eax, dword [ebx + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a2705
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x6c]
push ecx
call fcn.101658d0
test eax, eax
jne 0x101a2705
fldz
fcom qword [ebp - 0x6c]
fnstsw ax
test ah, 5
jp 0x101a2703
mov dword [ebp - 0x3c], 1
jmp 0x101a2548
mov dword [ebp - 0x3c], 0
fcomp qword [esi + 0xd8]
fnstsw ax
test ah, 1
je 0x101a25f1
cmp esi, 0xffffffff
je 0x101a2705
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a259d
mov eax, dword [esi + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a259d
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x50]
push edx
mov ebx, esi
call fcn.101658d0
test eax, eax
jne 0x101a259d
fldz
fcomp qword [ebp - 0x50]
fnstsw ax
test ah, 1
je 0x101a25f1
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a2705
mov eax, dword [esi + 0x40]
and eax, 0x800000
or eax, ecx
je 0x101a2705
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x50]
push eax
mov ebx, esi
call fcn.101658d0
test eax, eax
jne 0x101a2705
fldz
fcomp qword [ebp - 0x50]
fnstsw ax
test ah, 5
jp 0x101a2705
mov dword [ebp - 0x44], 1
jmp 0x101a25f8
mov dword [ebp - 0x44], 0
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
mov eax, 1
add dword [edx + 0x6b0], eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + ebx*4]
add dword [edx + 0x6b4], eax
mov eax, dword [edx + 0x6b8]
and eax, 0xff000000
mov dword [ebp - 0x2c], ecx
cmp eax, 0xb000000
jne 0x101a2675
mov eax, dword [edx + 0x812c]
test al, al
jns 0x101a2705
test eax, 0x100
je 0x101a2675
xor edi, edi
jmp 0x101a2650
mov eax, dword [ebp + edi*4 - 0x2c]
cmp eax, 0xffffffff
je 0x101a2705
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a2705
inc edi
cmp edi, 1
jb 0x101a2650
mov dl, byte [edx + 0x6ac]
test dl, dl
je 0x101a2705
cmp dword [ebp - 0x3c], 0
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0x24]
lea edx, [ecx + ebx]
mov edx, dword [eax + edx*4]
lea ecx, [ebx + ecx*2]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + edi*4]
mov dword [eax + ebx*4], ecx
mov eax, dword [ebp - 8]
jne 0x101a26b2
mov eax, edx
mov ecx, dword [esi + 8]
mov edi, dword [esi + 4]
add ecx, ebx
cmp dword [ebp - 0x44], 0
mov dword [edi + ecx*4], eax
je 0x101a26c6
mov edx, dword [ebp - 8]
mov eax, dword [esi + 8]
lea ecx, [ebx + eax*2]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4], edx
mov byte [ebp - 1], 1
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [esi + 8]
jb 0x101a21f0
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
inc edi
mov dword [ebp - 0xc], edi
cmp edi, eax
jb 0x101a2717
mov edi, eax
xor esi, esi
mov dword [ebp - 0xc], edi
jmp 0x101a271d
fstp st(0)
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x1c]
jb 0x101a2270
jmp 0x101a26d6
mov edx, dword [ecx + 0x14]
mov esi, dword [edx + edi*4]
mov dword [ebp - 0x10], esi
cmp edi, eax
jb 0x101a2190
cmp byte [ebp - 1], 0
mov esi, dword [ebp + 8]
je 0x101a273f
push esi
mov byte [ebp - 2], 1
mov byte [ebp - 1], 0
call fcn.10175ad0
mov ecx, dword [esi + 0x10]
test ecx, ecx
jbe 0x101a274d
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
jmp 0x101a274f
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
test ecx, ecx
jbe 0x101a2dbd
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x3c]
test edx, 0xf0000000
je 0x101a2d8a
mov eax, ecx
xor ecx, ecx
cmp dword [eax + 8], ecx
je 0x101a27a0
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
and eax, 0x600000
or eax, ecx
je 0x101a27a0
mov eax, dword [ebp + 8]
test dword [eax + 0x8124], 0x2000
jne 0x101a2d8a
and edx, 0xfff00000
cmp edx, 0x10500000
jne 0x101a2d8a
mov edx, dword [ebp - 0x10]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], ecx
cmp dword [edx], ecx
jbe 0x101a2d8a
mov esi, edx
jmp 0x101a27d0
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor edx, edx
or eax, edx
je 0x101a29d3
cmp dword [ecx + 0x5c], 0xffffffff
jne 0x101a29d3
cmp dword [ecx + 0x58], 0xffffffff
jne 0x101a29d3
mov edi, dword [ecx + 0x88]
mov edx, dword [edi + 0x3c]
and edx, 0xfff00000
cmp edx, 0x20500000
jne 0x101a29d3
push ecx
mov ebx, edi
call fcn.101730a0
mov dword [ebp - 0x18], eax
xor eax, eax
mov edx, 1
mov dword [ebp - 0x3c], eax
mov dword [ebp - 8], edx
mov ecx, dword [edi + 8]
imul ecx, eax
add ecx, dword [ebp - 0x18]
mov eax, dword [edi + 4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor ecx, ecx
or eax, ecx
je 0x101a29ba
cmp dword [ebx + 0x5c], 0xffffffff
jne 0x101a29ba
cmp dword [ebx + 0x58], 0xffffffff
jne 0x101a29ba
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax + 0x3c]
and ecx, 0xfff00000
mov dword [ebp - 0x24], eax
cmp ecx, 0x10600000
jne 0x101a29ba
cmp dword [ebx + 0x20], edx
jne 0x101a2971
mov eax, dword [ebp - 0x14]
mov edx, dword [esi + 0xc]
mov edx, dword [edx + eax*4]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebx + 0x4c]
cmp eax, 5
je 0x101a28e3
cmp ecx, 5
je 0x101a28e3
cmp eax, 4
je 0x101a28dc
cmp ecx, 4
je 0x101a28dc
cmp eax, 3
je 0x101a28d5
cmp ecx, 3
je 0x101a28d5
cmp eax, 2
je 0x101a28ce
cmp ecx, 2
je 0x101a28ce
mov esi, 0x10
jmp 0x101a28e8
mov esi, 2
jmp 0x101a28e8
mov esi, 3
jmp 0x101a28e8
mov esi, 4
jmp 0x101a28e8
mov esi, 5
cmp esi, ecx
je 0x101a2971
mov eax, dword [ebp + 8]
inc dword [eax + 0x5fc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [edx + ecx*4]
mov ecx, dword [eax + 0x604]
inc dword [eax + 0x600]
and ecx, 0xff000000
mov dword [ebp - 0x2c], edx
cmp ecx, 0xb000000
jne 0x101a295d
mov eax, dword [eax + 0x812c]
test al, al
jns 0x101a2971
test eax, 0x100
jne 0x101a293e
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x5f8]
jmp 0x101a2966
xor edx, edx
mov eax, dword [ebp + edx*4 - 0x2c]
cmp eax, 0xffffffff
je 0x101a2971
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a2971
inc edx
cmp edx, 1
jb 0x101a2940
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x5f8]
test al, al
je 0x101a2971
mov dword [ebx + 0x4c], esi
mov byte [ebp - 1], 1
mov ecx, dword [ebp + 8]
test byte [ecx + 0x7fcd], 1
mov esi, dword [ebp - 0x10]
je 0x101a29ba
cmp dword [esi + 8], 1
jne 0x101a29ba
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx + eax*4]
cmp dword [ecx + 0x4c], 3
jne 0x101a29ba
push ebx
mov ebx, dword [ebp - 0x24]
call fcn.101730a0
mov ecx, dword [edi + 8]
imul ecx, dword [ebp - 8]
mov edx, dword [ebx + 4]
mov eax, dword [edx + eax*4]
add ecx, dword [ebp - 0x18]
mov edx, dword [edi + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
mov edx, 1
sub dword [ebp - 8], edx
add eax, edx
mov dword [ebp - 0x3c], eax
cmp eax, 2
jb 0x101a2833
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [esi]
jb 0x101a27d0
cmp dword [ebp - 0x1c], 0xffffffff
je 0x101a2d8a
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov eax, 1
add dword [edi + 0x5fc], eax
mov esi, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [edi + 0x604]
add dword [edi + 0x600], eax
and ecx, 0xff000000
cmp ecx, 0xb000000
jne 0x101a2a63
mov eax, dword [edi + 0x812c]
test al, al
jns 0x101a2d8a
test eax, 0x100
je 0x101a2a63
xor edx, edx
test esi, esi
jbe 0x101a2a63
jmp 0x101a2a40
mov eax, dword [ebx + edx*4]
cmp eax, 0xffffffff
je 0x101a2d8a
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a2d8a
inc edx
cmp edx, esi
jb 0x101a2a40
mov al, byte [edi + 0x5f8]
test al, al
je 0x101a2d8a
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x50100004
lea edx, [ebp - 0x20]
push edx
mov esi, edi
push esi
call fcn.10169e20
mov edi, eax
test edi, edi
jl 0x101a41bf
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x10000001
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.10169e20
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x34]
mov esi, dword [ebp - 0x20]
mov dword [esi + 0x34], ecx
mov edx, dword [eax + 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [esi + 0x38], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x34], edx
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], eax
mov edx, dword [esi + 4]
mov dword [edx], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x44]
mov dword [ecx + 0xc], eax
mov edx, dword [esi + 4]
xor edi, edi
mov dword [edx + 8], eax
mov dword [ebp - 8], edi
jmp 0x101a2af4
xor edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8040]
mov eax, dword [esi + 0xc]
add eax, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x101e316c]
cmp eax, edi
jge 0x101a2b16
xor eax, eax
jmp 0x101a2b1d
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0xc], edi
je 0x101a2b45
mov ecx, dword [eax + 0xc]
cmp ecx, edi
jne 0x101a2b2f
xor ecx, ecx
mov ebx, ecx
jmp 0x101a2b56
mov edx, dword [ecx]
mov dword [eax + 0xc], edx
cmp edx, edi
jne 0x101a2b3b
mov dword [eax + 0x10], edi
mov dword [ecx], 0xfefefefe
mov ebx, ecx
jmp 0x101a2b56
mov ecx, dword [eax + 8]
push 0x10
push pe_nt_image_headers32
call fcn.101d8457
mov ebx, eax
cmp ebx, edi
je 0x101a2ba8
mov edx, dword [ebp - 0x1c]
or eax, 0xffffffff
push edi
push edi
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x48], eax
push edx
mov eax, ebx
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x94], edi
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x24], edi
call fcn.10165570
cmp eax, edi
mov dword [ebp - 0x18], eax
jl 0x101a2bb4
mov edi, dword [ebp + 8]
push 0
call fcn.10169830
mov dword [ebp - 0x18], eax
test eax, eax
jl 0x101a2bb4
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [eax], ebx
jmp 0x101a2ce7
mov dword [ebp - 0x18], 0x8007000e
jmp 0x101a2ce4
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x101a2be6
cmp ecx, 0xffffffff
je 0x101a2be6
mov eax, dword [ebx + 4]
test eax, eax
je 0x101a2bcd
mov edx, dword [ebx]
mov dword [eax], edx
jmp 0x101a2bd2
mov eax, dword [ebx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx]
test eax, eax
je 0x101a2be0
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
jmp 0x101a2be6
mov edx, dword [ebx + 4]
mov dword [ecx + 0x28], edx
mov edi, dword [ebx + 0x94]
test edi, edi
je 0x101a2c43
cmp byte [edi + 0xc], 0
mov dword [edi + 8], 0
je 0x101a2c2d
mov eax, dword [edi]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x101a2c29
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101a2c13
xor eax, eax
jmp 0x101a2c1a
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
push ecx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [ebx + 0x98]
xor eax, eax
mov dword [ebx + 0x94], eax
cmp edi, eax
je 0x101a2ca0
mov dword [edi + 8], eax
cmp byte [edi + 0xc], al
je 0x101a2c8a
mov esi, dword [edi]
test esi, esi
je 0x101a2c83
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101a2c70
xor eax, eax
jmp 0x101a2c77
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [eax]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [ebp - 0x20]
mov byte [edi + 0xc], 0
push edi
mov dword [edi], 0
mov dword [edi + 4], 0
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
xor edi, edi
mov dword [ebx + 0x98], edi
mov eax, dword [0x101e316c]
cmp eax, edi
jl 0x101a2cba
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
push pe_nt_image_headers32
push 0xfe
push ebx
call sub.msvcrt.dll_memset
mov dword [ebx], 0
mov eax, dword [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x101a2cde
mov dword [eax], ebx
jmp 0x101a2ce1
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov edi, dword [ebp - 0x18]
test edi, edi
jl 0x101a41bf
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov ebx, dword [eax + 0x68]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 8]
mov ecx, dword [edx + ecx]
mov dword [ecx + 0x68], ebx
mov al, byte [eax + 0x6c]
mov byte [ecx + 0x6c], al
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
mov ecx, dword [esi + 0xc]
mov ecx, dword [edx + ecx]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [edx + ecx]
add edx, 4
mov dword [eax + 0x88], esi
mov dword [ebp - 8], edx
cmp edx, 0x10
jb 0x101a2af2
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 8]
mov dword [edx], ecx
mov ecx, edi
mov edx, dword [ecx + 0xc]
mov edi, dword [eax + 0xc]
mov edx, dword [edx]
mov dword [edi], edx
mov edx, dword [eax + 0xc]
mov edx, dword [edx]
push 1
mov dword [edx + 0x88], eax
mov dword [ebp - 0x4c], eax
push ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp + 8]
push eax
push 2
mov edi, esi
call fcn.1016a230
mov edi, eax
test edi, edi
jl 0x101a41bf
push esi
call fcn.10175ad0
mov byte [ebp - 1], 1
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x10]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jb 0x101a2da9
mov ecx, eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], ecx
jmp 0x101a2db2
mov edx, dword [edi + 0x14]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x10], eax
cmp ecx, dword [edi + 0x10]
jb 0x101a2761
jmp 0x101a2dc0
mov edi, dword [ebp + 8]
cmp byte [ebp - 1], 0
je 0x101a2dd4
push edi
mov byte [ebp - 2], 1
mov byte [ebp - 1], 0
call fcn.10175ad0
mov ecx, dword [edi + 0x10]
test ecx, ecx
jbe 0x101a2de2
mov edx, dword [edi + 0x14]
mov eax, dword [edx]
jmp 0x101a2de4
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], 0
test ecx, ecx
jbe 0x101a300a
jmp 0x101a2e00
mov edx, dword [ebx + 0x3c]
test edx, 0xf0000000
je 0x101a2fe1
cmp dword [ebx + 8], 0
je 0x101a2e38
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x101a2e38
test dword [edi + 0x8124], 0x2000
jne 0x101a2fe1
and edx, 0xfff00000
cmp edx, 0x10400000
jne 0x101a2fe1
cmp dword [ebx], 0
mov dword [ebp - 0x20], 0
jbe 0x101a2fe1
lea ebx, [ebx]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 2
xor edx, edx
or eax, edx
je 0x101a2fd2
cmp dword [ecx + 0x5c], 0xffffffff
jne 0x101a2fd2
cmp dword [ecx + 0x58], 0xffffffff
jne 0x101a2fd2
mov esi, dword [ecx + 0x88]
mov eax, dword [esi + 0x3c]
and eax, 0xfff00000
cmp eax, 0x20400000
jne 0x101a2fd2
push ecx
mov ebx, esi
call fcn.101730a0
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], 0
jmp 0x101a2ec0
mov ecx, dword [esi + 8]
imul ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 8]
mov edx, dword [esi + 4]
mov edx, dword [edx + ecx*4]
cmp edx, 0xffffffff
je 0x101a2f98
mov ecx, dword [edx + 0x50]
mov ecx, dword [ecx + 8]
and ecx, 0x100
xor edi, edi
or ecx, edi
je 0x101a2f98
mov edi, dword [edx + 0x40]
mov eax, dword [edx + 0x44]
mov ecx, edi
and ecx, 0x800000
xor edx, edx
or ecx, edx
mov dword [ebp - 0x9c], eax
je 0x101a2f98
and edi, 0x100000
xor ecx, ecx
or edi, ecx
je 0x101a2f98
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
mov ecx, 1
add dword [edi + 0x6c4], ecx
mov edx, dword [eax + 0xc]
mov edx, dword [edx + ebx*4]
add dword [edi + 0x6c8], ecx
mov ecx, dword [edi + 0x6cc]
and ecx, 0xff000000
mov dword [ebp - 0x1c], edx
cmp ecx, 0xb000000
jne 0x101a2f8e
mov ecx, dword [edi + 0x812c]
test cl, cl
jns 0x101a2f98
test ecx, 0x100
je 0x101a2f8e
xor ebx, ebx
jmp 0x101a2f70
mov ecx, dword [ebp + ebx*4 - 0x1c]
cmp ecx, 0xffffffff
je 0x101a2f98
mov ecx, dword [ecx + 0x40]
and ecx, 0x8000
xor edx, edx
or ecx, edx
jne 0x101a2f98
inc ebx
cmp ebx, 1
jb 0x101a2f70
mov cl, byte [edi + 0x6c0]
test cl, cl
jne 0x101a2fad
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 2
jb 0x101a2ec0
mov edi, dword [ebp + 8]
jmp 0x101a2fcf
mov ecx, dword [esi + 4]
mov eax, dword [eax + 4]
mov edx, 1
sub edx, dword [ebp - 0x18]
mov byte [ebp - 1], 1
imul edx, dword [esi + 8]
add edx, dword [ebp - 8]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebp - 0x20]
mov dword [eax + edx*4], ecx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [ebx]
jb 0x101a2e60
mov ecx, dword [ebp - 0xc]
mov eax, dword [edi + 0x10]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jb 0x101a2ff8
mov ecx, eax
xor ebx, ebx
mov dword [ebp - 0xc], ecx
jmp 0x101a2ffe
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0x10], ebx
cmp ecx, dword [edi + 0x10]
jb 0x101a2e00
cmp byte [ebp - 1], 0
jne 0x101a4196
cmp byte [ebp - 2], 0
jne 0x101a4196
mov ecx, dword [edi + 0x10]
lea eax, [ecx - 1]
mov dword [ebp - 0x44], 0
cmp ecx, eax
jbe 0x101a3037
mov edx, dword [edi + 0x14]
mov edx, dword [edx + eax*4]
jmp 0x101a3039
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
cmp eax, ecx
jae 0x101a415c
jmp 0x101a3050
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
and eax, 0xfff00000
cmp eax, 0x20400000
je 0x101a306d
cmp eax, 0x20500000
jne 0x101a393e
mov esi, dword [ecx + 8]
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp - 0x44]
jbe 0x101a31d3
mov dword [ebp - 0x44], esi
cmp esi, 0x10
ja 0x101a308b
mov dword [ebp - 0x44], 0x10
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x70]
add edi, 0x8158
cmp dword [ebp - 0x7c], 0
je 0x101a30bb
test eax, eax
ja 0x101a30a6
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x101a30b2
sub dword [ebx + 8], eax
jmp 0x101a30bb
mov eax, dword [ebx]
mov dword [edi], eax
call fcn.100daed0
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x70], edx
cmp ecx, 0x3ffffffd
jbe 0x101a30d5
mov eax, 0x80070216
jmp 0x101a313f
lea eax, [ecx*4]
cmp eax, edx
jne 0x101a30e5
mov eax, 4
mov dword [ebp - 0x70], eax
mov ebx, eax
test eax, eax
ja 0x101a30f3
mov ebx, 1
mov eax, dword [edi]
test eax, eax
je 0x101a3103
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp ebx, ecx
jbe 0x101a3114
mov ecx, ebx
mov esi, edi
call fcn.100daf50
test eax, eax
je 0x101a3114
xor eax, eax
jmp 0x101a3128
mov ecx, dword [edi]
test ecx, ecx
je 0x101a3123
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x101a3125
xor eax, eax
add dword [ecx + 8], ebx
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x7c], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov edi, eax
test eax, eax
jl 0x101a41bf
cmp ecx, 0x1ffffffe
jbe 0x101a3158
mov eax, 0x80070216
jmp 0x101a31c9
lea eax, [ecx*8]
test eax, eax
jne 0x101a3168
mov eax, 8
mov esi, dword [ebp + 8]
add esi, 0x81a0
mov dword [ebp - 0x80], eax
mov edi, eax
test eax, eax
ja 0x101a317f
mov edi, 1
mov eax, dword [esi]
test eax, eax
je 0x101a318f
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp edi, ecx
jbe 0x101a319e
mov ecx, edi
call fcn.100daf50
test eax, eax
je 0x101a319e
xor eax, eax
jmp 0x101a31b2
mov ecx, dword [esi]
test ecx, ecx
je 0x101a31ad
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x101a31af
xor eax, eax
add dword [ecx + 8], edi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x8c], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov edi, eax
test eax, eax
jl 0x101a41bf
xor ebx, ebx
test esi, esi
jbe 0x101a321f
mov edi, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
fld1
mov eax, dword [ebp - 0x10]
push 0
fstp qword [esi]
mov dword [edi], 0xffffffff
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + ebx*4]
mov ecx, dword [ebp + 8]
push esi
push edi
push edx
call fcn.101a0680
test eax, eax
jl 0x101a321f
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [edi]
cmp edx, dword [ecx + ebx*4]
je 0x101a321f
inc ebx
add esi, 8
add edi, 4
cmp ebx, dword [ebp - 0x24]
jb 0x101a31e2
mov edi, dword [ebp - 0x24]
cmp ebx, edi
jne 0x101a393e
fld1
mov esi, dword [ebp - 0x8c]
fld qword [0x100a3028]
mov bl, 1
xor ecx, ecx
mov dl, bl
test edi, edi
ja 0x101a332e
fxch st(1)
fld qword [esi]
fcomp qword [0x100a2fe8]
fnstsw ax
test ah, 0x44
jp 0x101a3506
mov ecx, dword [ebp + 8]
fstp st(0)
mov ebx, dword [ebp - 0x10]
fstp st(0)
mov eax, dword [ecx + 0x618]
mov esi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
inc dword [ecx + 0x614]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x101a32c3
mov eax, dword [ecx + 0x812c]
test al, al
jns 0x101a4121
test eax, 0x100
je 0x101a32c9
xor edi, edi
test esi, esi
jbe 0x101a32c3
mov edi, edi
mov eax, dword [edx + edi*4]
cmp eax, 0xffffffff
je 0x101a4121
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a4121
inc edi
cmp edi, esi
jb 0x101a32a0
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0x24]
mov al, byte [ecx + 0x60c]
test al, al
je 0x101a4121
mov eax, edi
and eax, 0xfffff
or eax, 0x20400000
mov byte [ebp - 2], 0
cmp dword [ebx + 0x3c], eax
je 0x101a34a8
mov esi, dword [ebp - 0x24]
movzx edx, word [ebx + 0x40]
lea edi, [ebx + 0x40]
add esi, esi
mov dword [ebx + 0x3c], eax
mov byte [ebp - 2], 1
cmp esi, edx
jbe 0x101a3495
add ebx, 4
cmp word [edi], 0
je 0x101a3482
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101a344e
xor eax, eax
jmp 0x101a3455
fxch st(1)
test ecx, ecx
jbe 0x101a3342
fld qword [esi + ecx*8 - 8]
fcomp qword [esi + ecx*8]
fnstsw ax
test ah, 0x44
jnp 0x101a3342
xor dl, dl
fcom qword [esi + ecx*8]
fnstsw ax
test ah, 0x41
je 0x101a335a
fxch st(1)
fcom qword [esi + ecx*8]
fnstsw ax
test ah, 5
jp 0x101a335e
fxch st(1)
xor bl, bl
fxch st(1)
inc ecx
cmp ecx, edi
jb 0x101a332c
test dl, dl
jne 0x101a3248
fstp st(0)
fstp st(0)
mov esi, dword [ebp + 8]
test byte [esi + 0x7fce], 0x80
je 0x101a3383
test bl, bl
je 0x101a393e
mov ebx, dword [ebp - 0x10]
mov ecx, dword [esi + 0x640]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
inc dword [esi + 0x63c]
and ecx, 0xff000000
mov dword [ebp - 8], eax
cmp ecx, 0xb000000
jne 0x101a33ea
mov eax, dword [esi + 0x812c]
test al, al
jns 0x101a4121
test eax, 0x100
je 0x101a33ea
xor edi, edi
test edx, edx
jbe 0x101a33ea
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*4]
cmp eax, 0xffffffff
je 0x101a4121
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a4121
inc edi
cmp edi, edx
jb 0x101a33c4
mov al, byte [esi + 0x634]
test al, al
je 0x101a4121
mov eax, dword [ebp - 0x24]
and eax, 0xfffff
or eax, 0x20500000
mov byte [ebp - 2], 0
cmp dword [ebx + 0x3c], eax
je 0x101a3822
mov esi, dword [ebp - 0x24]
movzx ecx, word [ebx + 0x40]
lea edi, [ebx + 0x40]
add esi, esi
mov dword [ebx + 0x3c], eax
mov byte [ebp - 2], 1
cmp esi, ecx
jbe 0x101a3812
add ebx, 4
cmp word [edi], 0
je 0x101a37ff
mov eax, dword [0x101e316c]
test eax, eax
jge 0x101a37cb
xor eax, eax
jmp 0x101a37d2
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [edi]
cmp ecx, dword [eax + 0x128]
ja 0x101a347b
mov edx, dword [ebx]
mov eax, dword [eax + 0x124]
shl ecx, 4
lea ecx, [eax + ecx - 0x10]
test edx, edx
je 0x101a347b
mov eax, dword [ecx + 4]
mov dword [edx], eax
mov dword [ecx + 4], edx
xor ecx, ecx
mov word [edi], cx
mov dword [ebx], ecx
push edi
mov edi, esi
call fcn.10171de0
test eax, eax
jl 0x101a418f
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebx + 4]
mov dword [ebx], esi
test esi, esi
jbe 0x101a34a5
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
xor eax, eax
test edi, edi
jbe 0x101a34ed
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x7c]
add esi, esi
add esi, esi
mov edx, dword [ebx + 4]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
cmp edx, dword [edi + eax*4]
je 0x101a34ce
mov edx, dword [edi + eax*4]
mov dword [ecx], edx
mov byte [ebp - 2], 1
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + esi]
add ecx, esi
cmp edx, dword [edi + eax*4]
je 0x101a34e4
mov edx, dword [edi + eax*4]
mov dword [ecx], edx
mov byte [ebp - 2], 1
inc eax
add esi, 4
cmp eax, dword [ebp - 0x24]
jb 0x101a34b8
mov cl, byte [ebp - 2]
test cl, cl
je 0x101a392c
mov eax, dword [ebp + 8]
inc dword [eax + 0x610]
jmp 0x101a392c
fld qword [esi]
fucompp
fnstsw ax
test ah, 0x44
jp 0x101a35d9
mov edi, dword [ebp + 8]
fstp st(0)
mov ebx, dword [ebp - 0x10]
mov eax, 1
add dword [edi + 0x6ec], eax
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
add dword [edi + 0x6f0], eax
mov eax, dword [edi + 0x6f4]
and eax, 0xff000000
mov dword [ebp - 8], ecx
cmp eax, 0xb000000
jne 0x101a358a
mov eax, dword [edi + 0x812c]
test al, al
jns 0x101a4121
test eax, 0x100
je 0x101a358a
xor esi, esi
test edx, edx
jbe 0x101a358a
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + esi*4]
cmp eax, 0xffffffff
je 0x101a4121
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a4121
inc esi
cmp esi, edx
jb 0x101a3564
mov al, byte [edi + 0x6e8]
test al, al
je 0x101a4121
mov eax, dword [ebp - 0x24]
mov edx, eax
and edx, 0xfffff
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x7c]
or edx, 0x10000000
mov dword [ebx + 0x3c], edx
test eax, eax
je 0x101a393a
mov ecx, dword [ebp - 0x24]
lea edx, [ecx*4]
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x101a393a
fld qword [esi]
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x101a36e0
mov ecx, dword [ebp + 8]
fstp st(1)
mov ebx, dword [ebp - 0x10]
mov eax, 1
add dword [ecx + 0x6d8], eax
mov esi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
add dword [ecx + 0x6dc], eax
mov eax, dword [ecx + 0x6e0]
and eax, 0xff000000
mov dword [ebp - 8], esi
cmp eax, 0xb000000
jne 0x101a3661
mov eax, dword [ecx + 0x812c]
test al, al
jns 0x101a411f
test eax, 0x100
je 0x101a3661
xor edi, edi
test edx, edx
jbe 0x101a3661
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*4]
cmp eax, 0xffffffff
je 0x101a411f
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor esi, esi
or eax, esi
jne 0x101a411f
inc edi
cmp edi, edx
jb 0x101a363b
mov al, byte [ecx + 0x6d4]
test al, al
je 0x101a411f
mov eax, dword [ebp - 0x24]
mov edx, eax
and edx, 0xfffff
or edx, 0x10000000
mov dword [ebx + 0x3c], edx
mov edx, dword [ebp - 0x54]
mov dword [ebx], eax
mov dword [ebx + 8], eax
cmp edx, 0xffffffff
jne 0x101a36bb
mov eax, dword [ecx + 0x8024]
sub esp, 8
fstp qword [esp]
push eax
lea edx, [ebp - 0x54]
push edx
push ecx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edx, dword [ebp - 0x54]
jmp 0x101a36bd
fstp st(0)
mov ecx, dword [ebp - 0x24]
xor eax, eax
test ecx, ecx
jbe 0x101a393a
lea ebx, [ebx]
mov esi, dword [ebx + 4]
mov dword [esi + eax*4], edx
inc eax
cmp eax, ecx
jb 0x101a36d0
jmp 0x101a393a
fstp st(0)
fld qword [esi]
fucompp
fnstsw ax
test ah, 0x44
jp 0x101a336f
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
mov ecx, dword [edx + 0x708]
mov eax, dword [edi + 0xc]
mov ebx, dword [edi + 8]
inc dword [edx + 0x704]
and ecx, 0xff000000
mov dword [ebp - 8], eax
cmp ecx, 0xb000000
jne 0x101a375b
mov eax, dword [edx + 0x812c]
test al, al
jns 0x101a4121
test eax, 0x100
je 0x101a375b
xor esi, esi
test ebx, ebx
jbe 0x101a375b
mov eax, dword [ebp - 8]
mov eax, dword [eax + esi*4]
cmp eax, 0xffffffff
je 0x101a4121
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a4121
inc esi
cmp esi, ebx
jb 0x101a3735
mov al, byte [edx + 0x6fc]
test al, al
je 0x101a4121
mov ecx, dword [ebp - 0x24]
mov eax, ecx
and eax, 0xfffff
or eax, 0x10100000
xor bl, bl
cmp dword [edi + 0x3c], eax
je 0x101a3789
mov dword [edi + 0x3c], eax
mov dword [edi], ecx
mov dword [edi + 8], ecx
mov bl, 1
xor eax, eax
test ecx, ecx
jbe 0x101a37b0
mov esi, dword [ebp - 0x7c]
mov ecx, dword [edi + 4]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esi + eax*4]
je 0x101a37a7
mov edx, dword [esi + eax*4]
mov dword [ecx], edx
mov bl, 1
inc eax
cmp eax, dword [ebp - 0x24]
jb 0x101a3792
mov edx, dword [ebp + 8]
test bl, bl
je 0x101a37ba
inc dword [edx + 0x700]
cmp byte [ebp - 1], 0
jne 0x101a393a
test bl, bl
jmp 0x101a3934
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [edi]
cmp ecx, dword [eax + 0x128]
ja 0x101a37f8
mov edx, dword [ebx]
mov eax, dword [eax + 0x124]
shl ecx, 4
lea eax, [eax + ecx - 0x10]
test edx, edx
je 0x101a37f8
mov ecx, dword [eax + 4]
mov dword [edx], ecx
mov dword [eax + 4], edx
xor edx, edx
mov word [edi], dx
mov dword [ebx], edx
push edi
mov edi, esi
call fcn.10171de0
test eax, eax
jl 0x101a418f
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebx + 4]
mov dword [ebx], esi
test esi, esi
jbe 0x101a3822
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
xor esi, esi
cmp dword [ebp - 0x24], esi
jbe 0x101a391c
mov eax, dword [ebp - 0x24]
lea ecx, [eax*4]
mov dword [ebp - 0x30], ecx
lea ebx, [ebx]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 4]
mov edi, dword [eax + esi*4]
mov ecx, dword [ebp - 0x7c]
lea eax, [eax + esi*4]
cmp edi, dword [ecx + esi*4]
je 0x101a385d
mov ecx, dword [ecx + esi*4]
mov dword [eax], ecx
mov byte [ebp - 2], 1
mov edx, dword [edx + 4]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax + edx]
cmp ebx, 0xffffffff
je 0x101a3891
mov eax, dword [ebx + 0x40]
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x101a3891
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x50]
push ecx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
jmp 0x101a3896
fldz
fstp qword [ebp - 0x50]
test ebx, ebx
je 0x101a38d2
cmp ebx, 0xffffffff
je 0x101a38d2
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x101a38d2
mov ebx, dword [ebx + 0x40]
and ebx, 0x800000
xor eax, eax
or ebx, eax
je 0x101a38d2
mov edx, dword [ebp - 0x8c]
fld qword [edx + esi*8]
fcomp qword [ebp - 0x50]
fnstsw ax
test ah, 0x44
jnp 0x101a390e
mov eax, dword [ebp - 0x8c]
fld qword [eax + esi*8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8024]
mov edx, dword [ebp - 0x10]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [edx + 4]
add ecx, dword [ebp - 0x30]
push ecx
push eax
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov byte [ebp - 2], 1
add dword [ebp - 0x30], 4
inc esi
cmp esi, dword [ebp - 0x24]
jb 0x101a3840
mov cl, byte [ebp - 2]
test cl, cl
je 0x101a392c
mov eax, dword [ebp + 8]
inc dword [eax + 0x638]
cmp byte [ebp - 1], 0
jne 0x101a393a
test cl, cl
mov byte [ebp - 1], 0
je 0x101a393e
mov byte [ebp - 1], 1
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
and eax, 0xfff00000
cmp eax, 0x20500000
jne 0x101a4121
mov ecx, edx
mov eax, dword [ecx + 8]
xor edi, edi
xor esi, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], edi
mov byte [ebp - 2], 0
test eax, eax
jbe 0x101a3b70
nop
mov edx, dword [ebp - 0x7c]
lea eax, [edx + esi*4]
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x30]
push ecx
or edi, 0xffffffff
mov dword [eax], edi
lea edx, [ebp - 0x14]
push edx
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
mov edx, dword [ecx + esi*4]
mov ecx, dword [ebp + 8]
push edx
call fcn.101a0da0
test eax, eax
jl 0x101a3b6a
mov ebx, dword [ebp - 0x14]
cmp ebx, edi
je 0x101a3a18
cmp dword [ebp - 0x30], edi
je 0x101a3a18
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x98]
push eax
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x30]
lea ecx, [ebp - 0xb0]
push ecx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
fld qword [ebp - 0xb0]
fcomp qword [ebp - 0x98]
fnstsw ax
test ah, 0x41
jp 0x101a3a12
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0xffffffff
jmp 0x101a3a18
or ebx, 0xffffffff
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
cmp eax, 0xffffffff
je 0x101a3a7d
cmp ecx, 0xffffffff
je 0x101a3a78
mov edi, dword [ebp + 8]
lea edx, [ebp - 0xa0]
push edx
mov ebx, eax
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x2c]
lea eax, [ebp - 0x6c]
push eax
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
fld qword [ebp - 0x6c]
mov ebx, dword [ebp - 0x14]
fcomp qword [ebp - 0xa0]
fnstsw ax
test ah, 1
jne 0x101a3aa9
mov eax, dword [ebp - 0x1c]
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
cmp eax, 0xffffffff
jne 0x101a3aeb
cmp ecx, 0xffffffff
jne 0x101a3ab4
cmp ebx, ecx
je 0x101a3ab4
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
lea edx, [ecx + esi*8]
push edx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov cl, 1
jmp 0x101a3b45
mov ecx, dword [ebp - 0x2c]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x101a3a7d
cmp eax, 0xffffffff
jne 0x101a3aeb
cmp ecx, eax
jne 0x101a3aeb
mov edx, dword [ebp - 0x30]
cmp edx, eax
je 0x101a3aeb
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
lea ecx, [eax + esi*8]
push ecx
mov ebx, edx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, 0x20300000
xor cl, cl
jmp 0x101a3b4a
cmp ebx, 0xffffffff
jne 0x101a3b6a
cmp dword [ebp - 0x30], ebx
jne 0x101a3b6a
cmp ecx, ebx
je 0x101a3b20
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
lea eax, [edx + esi*8]
push eax
mov ebx, ecx
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, 0x20300000
mov cl, 1
jmp 0x101a3b4a
cmp eax, 0xffffffff
je 0x101a3b6a
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
lea edx, [ecx + esi*8]
push edx
mov ebx, eax
call fcn.101658d0
mov edi, eax
test edi, edi
jl 0x101a41bf
xor cl, cl
mov eax, 0x20200000
test esi, esi
jne 0x101a3b56
mov dword [ebp - 8], eax
mov byte [ebp - 2], cl
jmp 0x101a3b60
cmp eax, dword [ebp - 8]
jne 0x101a3b6a
cmp cl, byte [ebp - 2]
jne 0x101a3b6a
inc esi
cmp esi, dword [ebp - 0x24]
jb 0x101a3970
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 8]
cmp esi, eax
jne 0x101a4121
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov edx, 1
add dword [eax + 0x624], edx
mov esi, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [eax + 0x62c]
add dword [eax + 0x628], edx
and ecx, 0xff000000
cmp ecx, 0xb000000
jne 0x101a3bf6
mov eax, dword [eax + 0x812c]
test al, al
jns 0x101a4121
test eax, 0x100
jne 0x101a3bc9
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x620]
jmp 0x101a3bfc
xor edx, edx
test esi, esi
jbe 0x101a3bf3
nop
mov eax, dword [ebx + edx*4]
cmp eax, 0xffffffff
je 0x101a4121
mov eax, dword [eax + 0x40]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
jne 0x101a4121
inc edx
cmp edx, esi
jb 0x101a3bd0
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x620]
test al, al
je 0x101a4121
mov ebx, dword [ebp + 8]
test byte [ebx + 0x7fcd], 2
jne 0x101a3cbe
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov ecx, edi
xor ecx, eax
and ecx, 0xfffff
xor ecx, edi
mov dword [edx + 0x3c], ecx
mov cl, byte [ebp - 2]
movzx edi, cl
neg edi
sbb edi, edi
xor edx, edx
and edi, eax
test cl, cl
setne dl
xor esi, esi
dec edx
and edx, eax
mov ecx, edx
test eax, eax
jbe 0x101a3cb5
lea eax, [ecx*4]
lea ecx, [edi*4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], ecx
jmp 0x101a3c60
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx + esi*4]
mov edi, dword [ebp - 8]
mov dword [edi + edx], ecx
mov edx, dword [ebp - 0x8c]
fld qword [edx + esi*8]
mov edx, dword [eax + 4]
mov ecx, dword [ebx + 0x8024]
add edx, dword [ebp - 0x1c]
sub esp, 8
fstp qword [esp]
push ecx
push edx
push ebx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, 4
add dword [ebp - 8], eax
add dword [ebp - 0x1c], eax
inc esi
cmp esi, dword [ebp - 0x24]
jb 0x101a3c60
mov byte [ebp - 1], 1
jmp 0x101a4121
mov esi, dword [ebp - 0x24]
push esi
mov eax, esi
and eax, 0xfffff
mov dword [ebp - 0x1c], eax
push esi
or eax, 0x10100000
push eax
lea eax, [ebp - 0x20]
push eax
push ebx
call fcn.10169e20
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edx, dword [ebp - 0x1c]
push esi
lea ecx, [esi + esi]
push ecx
or edx, 0x20400000
push edx
lea eax, [ebp - 0x3c]
push eax
push ebx
call fcn.10169e20
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x1c]
push esi
lea ecx, [esi + esi*2]
push ecx
or eax, 0x30000000
push eax
lea edx, [ebp - 0x18]
push edx
push ebx
call fcn.10169e20
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x34]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x34], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x38], edx
mov edx, dword [eax + 0x34]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x34], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x38], edx
mov edx, dword [eax + 0x34]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x34], edx
mov eax, dword [eax + 0x38]
xor esi, esi
cmp byte [ebp - 2], 0
mov dword [ecx + 0x38], eax
jne 0x101a3dc2
cmp dword [ebp - 0x24], esi
jbe 0x101a3e17
lea ecx, [ecx]
mov ecx, dword [ebp - 0x8c]
fld qword [ecx + esi*8]
mov edx, dword [ebx + 0x8024]
mov ecx, dword [ebp - 0x20]
sub esp, 8
fstp qword [esp]
push edx
mov edx, dword [ecx + 4]
lea eax, [esi*4]
add edx, eax
push edx
push ebx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + esi*4]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 0x24]
jb 0x101a3d70
jmp 0x101a3e17
cmp dword [ebp - 0x24], esi
jbe 0x101a3e17
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x7c]
lea eax, [esi*4]
mov ecx, dword [eax + ecx]
mov dword [eax + edx], ecx
mov edx, dword [ebp - 0x8c]
fld qword [edx + esi*8]
mov ecx, dword [ebx + 0x8024]
mov edx, dword [ebp - 0x3c]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [edx + 4]
add ecx, eax
push ecx
push ebx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
inc esi
cmp esi, dword [ebp - 0x24]
jb 0x101a3dc7
mov esi, dword [ebp - 0x90]
cmp esi, 0xffffffff
jne 0x101a3e53
fld1
mov edx, dword [ebx + 0x8024]
sub esp, 8
fstp qword [esp]
push edx
lea eax, [ebp - 0x90]
push eax
push ebx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x54]
cmp edi, 0xffffffff
jne 0x101a3e86
fldz
mov ecx, dword [ebx + 0x8024]
sub esp, 8
fstp qword [esp]
push ecx
lea edx, [ebp - 0x54]
push edx
push ebx
mov eax, 4
call fcn.10169cc0
mov edi, eax
test edi, edi
jl 0x101a41bf
mov edi, dword [ebp - 0x54]
cmp dword [ebp - 8], 0x20300000
mov edx, dword [ebp - 0x24]
jne 0x101a3eca
test edx, edx
jbe 0x101a3efd
lea ecx, [edx*8]
lea eax, [edx*4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x18]
lea ebx, [ebx]
mov ebx, dword [edx + 4]
mov dword [eax + ebx], esi
mov ebx, dword [edx + 4]
mov dword [ecx + ebx], edi
add eax, 4
add ecx, 4
sub dword [ebp - 8], 1
jne 0x101a3eb0
jmp 0x101a3efa
test edx, edx
jbe 0x101a3efd
lea ecx, [edx*8]
lea eax, [edx*4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x18]
mov ebx, dword [edx + 4]
mov dword [eax + ebx], edi
mov ebx, dword [edx + 4]
mov dword [ecx + ebx], esi
add eax, 4
add ecx, 4
sub dword [ebp - 8], 1
jne 0x101a3ee2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], 0
test edx, edx
jbe 0x101a40e9
mov eax, dword [ebp - 0x24]
lea ecx, [eax*4]
mov dword [ebp - 0x1c], ecx
lea esp, [esp]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x8040]
add esi, esi
add esi, esi
add eax, esi
mov dword [ebp - 0x30], eax
mov eax, dword [0x101e316c]
mov dword [ebp - 0x14], esi
test eax, eax
jge 0x101a3f4b
xor eax, eax
jmp 0x101a3f52
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0xc], 0
je 0x101a3f79
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x101a3f63
mov ebx, ecx
jmp 0x101a3f8a
mov edx, dword [ecx]
mov dword [eax + 0xc], edx
test edx, edx
jne 0x101a3f6f
mov dword [eax + 0x10], edx
mov dword [ecx], 0xfefefefe
mov ebx, ecx
jmp 0x101a3f8a
mov ecx, dword [eax + 8]
push 0x10
push pe_nt_image_headers32
call fcn.101d8457
mov ebx, eax
xor eax, eax
cmp ebx, eax
je 0x101a3fd9
push eax
push eax
or ecx, 0xffffffff
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x94], eax
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x24], eax
push edi
mov eax, ebx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x48], ecx
call fcn.10165570
mov edi, eax
test edi, edi
jl 0x101a3fe0
mov edi, dword [ebp + 8]
push 0
call fcn.10169830
mov edi, eax
test edi, edi
jl 0x101a3fe0
mov ecx, dword [ebp - 0x30]
xor edi, edi
mov dword [ecx], ebx
jmp 0x101a404e
mov edi, 0x8007000e
jmp 0x101a404e
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x101a4012
cmp ecx, 0xffffffff
je 0x101a4012
mov eax, dword [ebx + 4]
test eax, eax
je 0x101a3ff9
mov edx, dword [ebx]
mov dword [eax], edx
jmp 0x101a3ffe
mov eax, dword [ebx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx]
test eax, eax
je 0x101a400c
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
jmp 0x101a4012
mov edx, dword [ebx + 4]
mov dword [ecx + 0x28], edx
mov esi, dword [ebx + 0x94]
test esi, esi
je 0x101a4021
call fcn.10165510
mov esi, dword [ebx + 0x98]
mov dword [ebx + 0x94], 0
test esi, esi
je 0x101a403a
call fcn.10165510
mov esi, ebx
mov dword [ebx + 0x98], 0
call fcn.10168d60
mov esi, dword [ebp - 0x14]
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x8040]
mov edx, dword [ebx + 0xc]
push 0x11
push 0
push 0
push ecx
add edx, esi
push edx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x101a41bf
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xc]
mov ecx, dword [esi + ecx]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0xc]
mov dword [esi + edx], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
mov edx, dword [esi + edx]
mov dword [edx + 0x88], ecx
mov edx, dword [ebx + 0xc]
mov edx, dword [esi + edx]
mov dword [edx + 0x88], ebx
mov edx, dword [eax + 0xc]
mov edx, dword [esi + edx]
mov dword [edx + 0x88], eax
mov ecx, dword [ecx + 0xc]
mov edi, dword [esi + ecx]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + edx], edi
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [esi + edx]
mov dword [esi + eax], edx
mov eax, dword [ebp - 8]
inc eax
add ecx, 4
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ebp - 0x24]
jb 0x101a3f20
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
push 1
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x5c], ecx
push eax
lea ecx, [ebp - 0x60]
push ecx
push 3
mov dword [ebp - 0x58], edx
call fcn.1016a230
mov edi, eax
test edi, edi
jl 0x101a41bf
mov byte [ebp - 1], 1
jmp 0x101a4121
fstp st(0)
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
test eax, eax
je 0x101a4140
cmp eax, dword [ecx + 0x10]
jae 0x101a4140
mov edx, dword [ecx + 0x14]
mov edx, dword [edx + eax*4 - 4]
dec eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
jmp 0x101a414d
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
cmp eax, dword [ecx + 0x10]
jb 0x101a3050
cmp byte [ebp - 1], 0
jne 0x101a4183
mov esi, dword [ebp + 8]
push esi
call fcn.101772a0
mov edi, eax
test edi, edi
jl 0x101a41bf
push esi
call fcn.1016a7f0
mov edi, eax
test edi, edi
jl 0x101a41bf
push esi
call fcn.1017b090
mov edi, eax
test edi, edi
jl 0x101a41bf
xor ecx, ecx
cmp byte [ebp - 1], cl
sete cl
mov edi, ecx
jmp 0x101a41bf
mov edi, 0x8007000e
jmp 0x101a41bf
mov esi, dword [ebp + 8]
push esi
call fcn.101772a0
mov edi, eax
test edi, edi
jl 0x101a41bf
push esi
call fcn.1016a7f0
mov edi, eax
test edi, edi
jl 0x101a41bf
push esi
call fcn.1017b090
mov edi, eax
test edi, edi
jl 0x101a41bf
xor edi, edi
lea esi, [ebp - 0x8c]
call fcn.100da650
lea esi, [ebp - 0x7c]
call fcn.100da650
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4