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

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
push edi
mov edi, dword [esp + 0x94]
mov eax, dword [edi + 0x2c]
mov ebp, dword [eax + 0x64]
cmp byte [ebp + 0x102], 0
mov dword [esp + 0x2c], ebp
jne 0x100e1e1d
cmp dword [eax + 0x7c], 0
mov byte [esp + 0x1b], 0
jg 0x100e0ff3
cmp dword [eax + 0x84], 0
jg 0x100e0ff3
cmp dword [eax + 0x8c], 0
jg 0x100e0ff3
cmp dword [eax + 0x94], 0
jle 0x100e1097
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
push esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
call fcn.100a5db0
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x94]
mov edx, dword [eax + 0x98]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x8c]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x90]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0x80]
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x50], edx
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x60]
push edx
push esi
lea ecx, [esp + 0x48]
lea edx, [esp + 0x40]
call fcn.100a6690
mov byte [esp + 0x1b], 1
cmp byte [ebp + 0xe4], 0
je 0x100e10ba
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e10c9
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e10c9
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e10c9
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call edx
cmp byte [ebp + 0xe4], 0
mov eax, dword [eax]
mov dword [esp + 0x30], eax
je 0x100e1100
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e110f
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e110f
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e110f
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
call edx
cmp byte [ebp + 0xe4], 0
mov ebx, dword [eax + 4]
mov dword [esp + 0x24], ebx
je 0x100e1147
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e1156
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e1156
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e1156
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call edx
mov ecx, eax
mov eax, dword [edi + 0x2c]
mov esi, dword [ecx + 4]
add eax, 0x70
call fcn.1008a700
mov dword [esp + 0x50], eax
cmp eax, ebx
lea eax, [esp + 0x50]
jl 0x100e1184
lea eax, [esp + 0x24]
cmp byte [ebp + 0xe4], 0
mov eax, dword [eax]
mov dword [esp + 0x20], eax
je 0x100e11ad
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e11bc
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e11bc
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e11bc
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
call edx
mov ecx, eax
mov eax, dword [edi + 0x2c]
mov esi, dword [ecx + 4]
add eax, 0x74
call fcn.1008a700
mov dword [esp + 0x50], eax
cmp eax, ebx
lea eax, [esp + 0x50]
jl 0x100e11ea
lea eax, [esp + 0x24]
cmp byte [ebp + 0xe4], 0
mov eax, dword [eax]
mov dword [esp + 0x28], eax
je 0x100e1213
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e1222
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e1222
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e1222
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call edx
mov ecx, eax
mov eax, dword [edi + 0x2c]
mov esi, dword [ecx]
add eax, 0x68
call fcn.1008a700
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
jl 0x100e1251
lea eax, [esp + 0x30]
cmp byte [ebp + 0xe4], 0
mov ebx, dword [eax]
mov dword [esp + 0x1c], ebx
je 0x100e127a
mov eax, dword [0x10c88d24]
test eax, eax
jne 0x100e1289
mov eax, 0x10c21344
call fcn.10134230
mov dword [0x10c88d24], eax
jmp 0x100e1289
mov eax, dword [ebp + 0x124]
test eax, eax
jne 0x100e1289
call fcn.10116080
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call edx
mov ebp, dword [edi + 0x2c]
mov ecx, eax
mov esi, dword [ecx]
lea eax, [ebp + 0x6c]
call fcn.1008a700
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
jl 0x100e12b8
lea eax, [esp + 0x30]
mov edx, dword [eax]
mov eax, ebp
mov eax, dword [eax + 0x78]
mov ecx, eax
shr eax, 2
and ecx, 3
and eax, 3
test ebx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
jle 0x100e1306
cmp dword [ebp + 0x64], 0
jne 0x100e12f0
mov eax, dword [ebp + 0x3c]
shr eax, 0xc
and eax, 0xf
je 0x100e1306
cmp eax, 1
je 0x100e1306
mov cx, word [ebp + 0x3c]
and cx, 0xfff
movzx eax, cx
test ax, ax
mov byte [esp + 0x18], 1
ja 0x100e130b
mov byte [esp + 0x18], 0
cmp dword [esp + 0x20], 0
jle 0x100e133d
cmp dword [ebp + 0x64], 0
jne 0x100e1328
mov eax, dword [ebp + 0x54]
shr eax, 0xc
and eax, 0xf
je 0x100e133d
cmp eax, 1
je 0x100e133d
mov ax, word [ebp + 0x54]
and ax, 0xfff
movzx eax, ax
test ax, ax
mov byte [esp + 0x16], 1
ja 0x100e1342
mov byte [esp + 0x16], 0
test edx, edx
jle 0x100e1372
cmp dword [ebp + 0x64], 0
jne 0x100e135c
mov eax, dword [ebp + 0x48]
shr eax, 0xc
and eax, 0xf
je 0x100e1372
cmp eax, 1
je 0x100e1372
mov cx, word [ebp + 0x48]
and cx, 0xfff
movzx eax, cx
test ax, ax
mov byte [esp + 0x19], 1
ja 0x100e1377
mov byte [esp + 0x19], 0
cmp dword [esp + 0x28], 0
jle 0x100e13aa
cmp dword [ebp + 0x64], 0
jne 0x100e1394
mov eax, dword [ebp + 0x60]
shr eax, 0xc
and eax, 0xf
je 0x100e13aa
cmp eax, 1
je 0x100e13aa
mov dx, word [ebp + 0x60]
and dx, 0xfff
movzx eax, dx
test ax, ax
mov byte [esp + 0x17], 1
ja 0x100e13af
mov byte [esp + 0x17], 0
mov ebx, dword [esp + 0x30]
sub ebx, dword [esp + 0x38]
mov esi, ebx
sub esi, dword [esp + 0x1c]
test esi, esi
mov dword [esp + 0x30], esi
jle 0x100e1461
cmp dword [ebp + 0x64], 0
jne 0x100e13e3
mov eax, dword [ebp + 0x3c]
shr eax, 0xc
and eax, 0xf
je 0x100e13df
cmp eax, 1
jne 0x100e13e3
xor ecx, ecx
jmp 0x100e13ee
mov ax, word [ebp + 0x3c]
and ax, 0xfff
movzx ecx, ax
cmp dword [ebp + 0x64], 0
jne 0x100e1408
mov eax, dword [ebp + 0x48]
shr eax, 0xc
and eax, 0xf
je 0x100e1404
cmp eax, 1
jne 0x100e1408
xor eax, eax
jmp 0x100e1414
mov dx, word [ebp + 0x48]
and dx, 0xfff
movzx eax, dx
mov edx, dword [esp + 0x8c]
movzx eax, ax
sub edx, eax
movzx eax, cx
sub edx, eax
test edx, edx
jle 0x100e1461
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
test ecx, ecx
jle 0x100e1461
mov eax, edi
call fcn.100e7160
mov ebp, dword [esp + 0x90]
movzx edx, ax
mov eax, edi
sub ebp, edx
call fcn.1008a930
movzx eax, ax
sub ebp, eax
test ebp, ebp
mov byte [esp + 0x1a], 1
jg 0x100e1466
mov byte [esp + 0x1a], 0
cmp byte [esp + 0x18], 0
je 0x100e16a2
cmp byte [esp + 0x16], 0
je 0x100e14e7
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x88]
xor esi, esi
mov dword [esp + 0x68], eax
mov eax, edi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], ecx
call fcn.100e7190
movzx edx, ax
mov eax, edi
mov dword [esp + 0x70], edx
call fcn.100e7160
movzx eax, ax
push esi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x30]
push 2
call fcn.101160c0
mov ecx, dword [esp + 0x88]
mov esi, eax
push ecx
lea eax, [esp + 0x64]
lea ecx, [esp + 0x74]
call fcn.100a5f10
cmp byte [esp + 0x17], 0
je 0x100e157d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
sub edx, eax
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, edi
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x58], edx
call fcn.1008a930
mov ecx, dword [esp + 0x88]
movzx eax, ax
sub ecx, eax
add ecx, dword [esp + 0x90]
mov eax, edi
mov dword [esp + 0x5c], ecx
call fcn.100e7190
movzx edx, ax
mov eax, edi
mov dword [esp + 0x60], edx
call fcn.1008a930
movzx eax, ax
push 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
push 2
call fcn.101160c0
mov ecx, dword [esp + 0x88]
mov esi, eax
push ecx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a5f10
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
sub ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
jne 0x100e15c0
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e15bc
cmp ecx, 1
jne 0x100e15c0
xor ebp, ebp
jmp 0x100e15cc
mov dx, word [eax + 0x54]
and dx, 0xfff
movzx ebp, dx
cmp dword [eax + 0x64], 0
jne 0x100e15e6
mov ecx, dword [eax + 0x60]
shr ecx, 0xc
and ecx, 0xf
je 0x100e15e2
cmp ecx, 1
jne 0x100e15e6
xor esi, esi
jmp 0x100e15f2
mov cx, word [eax + 0x60]
and cx, 0xfff
movzx esi, cx
cmp dword [eax + 0x64], 0
jne 0x100e160c
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1608
cmp ecx, 1
jne 0x100e160c
xor edx, edx
jmp 0x100e1618
mov dx, word [eax + 0x3c]
and dx, 0xfff
movzx edx, dx
cmp dword [eax + 0x64], 0
jne 0x100e1632
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e162e
cmp ecx, 1
jne 0x100e1632
xor eax, eax
jmp 0x100e163d
mov ax, word [eax + 0x54]
and ax, 0xfff
movzx eax, ax
mov ecx, dword [esp + 0x84]
movzx eax, ax
add eax, dword [esp + 0x88]
mov dword [esp + 0x58], ecx
movzx ecx, dx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x90]
movzx edx, si
mov dword [esp + 0x60], ecx
movzx ecx, bp
sub eax, edx
sub eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2c]
push 0
call fcn.101160c0
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x54]
push eax
push edx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a65c0
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x30]
cmp byte [esp + 0x19], 0
je 0x100e1935
cmp byte [esp + 0x16], 0
je 0x100e173d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov eax, edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], ecx
call fcn.1008a900
mov ecx, dword [esp + 0x88]
movzx edx, ax
mov eax, dword [esp + 0x84]
sub eax, edx
add eax, dword [esp + 0x8c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
mov eax, edi
call fcn.1008a900
movzx edx, ax
mov eax, edi
mov dword [esp + 0x60], edx
call fcn.100e7160
movzx eax, ax
push 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
push 2
call fcn.101160c0
mov ecx, dword [esp + 0x88]
mov esi, eax
push ecx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a5f10
cmp byte [esp + 0x17], 0
je 0x100e17e2
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
sub edx, eax
mov dword [esp + 0x74], eax
mov eax, edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
call fcn.1008a900
movzx edx, ax
mov eax, dword [esp + 0x84]
sub eax, edx
add eax, dword [esp + 0x8c]
mov dword [esp + 0x58], eax
mov eax, edi
call fcn.1008a930
mov edx, dword [esp + 0x88]
movzx ecx, ax
sub edx, ecx
add edx, dword [esp + 0x90]
mov eax, edi
mov dword [esp + 0x5c], edx
call fcn.1008a900
movzx eax, ax
mov dword [esp + 0x60], eax
mov eax, edi
call fcn.1008a930
movzx ecx, ax
mov eax, dword [esp + 0x2c]
push 0
push 2
mov dword [esp + 0x6c], ecx
call fcn.101160c0
mov edx, dword [esp + 0x88]
mov esi, eax
push edx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a5f10
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
sub edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
sub edx, eax
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x64], 0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
jne 0x100e1821
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e181d
cmp ecx, 1
jne 0x100e1821
xor edi, edi
jmp 0x100e182d
mov cx, word [eax + 0x54]
and cx, 0xfff
movzx edi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1847
mov ecx, dword [eax + 0x60]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1843
cmp ecx, 1
jne 0x100e1847
xor ebp, ebp
jmp 0x100e1853
mov dx, word [eax + 0x60]
and dx, 0xfff
movzx ebp, dx
cmp dword [eax + 0x64], 0
jne 0x100e186d
mov ecx, dword [eax + 0x48]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1869
cmp ecx, 1
jne 0x100e186d
xor esi, esi
jmp 0x100e1879
mov cx, word [eax + 0x48]
and cx, 0xfff
movzx esi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1893
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e188f
cmp ecx, 1
jne 0x100e1893
xor edx, edx
jmp 0x100e189f
mov dx, word [eax + 0x54]
and dx, 0xfff
movzx edx, dx
cmp dword [eax + 0x64], 0
jne 0x100e18b9
mov ecx, dword [eax + 0x48]
shr ecx, 0xc
and ecx, 0xf
je 0x100e18b5
cmp ecx, 1
jne 0x100e18b9
xor eax, eax
jmp 0x100e18c4
mov ax, word [eax + 0x48]
and ax, 0xfff
movzx eax, ax
movzx ecx, ax
mov eax, dword [esp + 0x84]
sub eax, ecx
add eax, dword [esp + 0x8c]
movzx ecx, dx
add ecx, dword [esp + 0x88]
movzx edx, si
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x90]
movzx eax, bp
mov dword [esp + 0x60], edx
movzx edx, di
sub ecx, eax
mov eax, dword [esp + 0x2c]
sub ecx, edx
push 0
mov dword [esp + 0x68], ecx
call fcn.101160c0
mov edi, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x88]
push eax
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a65c0
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x30]
cmp byte [esp + 0x16], 0
je 0x100e1aba
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x64], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edx
jne 0x100e1979
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1975
cmp ecx, 1
jne 0x100e1979
xor ebp, ebp
jmp 0x100e1985
mov cx, word [eax + 0x54]
and cx, 0xfff
movzx ebp, cx
cmp dword [eax + 0x64], 0
jne 0x100e199f
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e199b
cmp ecx, 1
jne 0x100e199f
xor esi, esi
jmp 0x100e19ab
mov dx, word [eax + 0x3c]
and dx, 0xfff
movzx esi, dx
cmp dword [eax + 0x64], 0
jne 0x100e19c5
mov ecx, dword [eax + 0x48]
shr ecx, 0xc
and ecx, 0xf
je 0x100e19c1
cmp ecx, 1
jne 0x100e19c5
xor edx, edx
jmp 0x100e19d1
mov cx, word [eax + 0x48]
and cx, 0xfff
movzx edx, cx
cmp dword [eax + 0x64], 0
jne 0x100e19eb
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e19e7
cmp ecx, 1
jne 0x100e19eb
xor eax, eax
jmp 0x100e19f6
mov ax, word [eax + 0x3c]
and ax, 0xfff
movzx eax, ax
movzx ecx, ax
add ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], ecx
movzx ecx, dx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
sub edx, ecx
movzx eax, si
movzx ecx, bp
sub edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
call fcn.101160c0
mov esi, eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
cmp byte [edx + 0x64], 0
jne 0x100e1aba
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x100e1a60
push ecx
push 2
push eax
lea eax, [esp + 0x64]
lea ecx, [esp + 0x44]
call fcn.100a5f10
jmp 0x100e1aba
fild dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x6c]
push ecx
fstp dword [esp + 0x70]
push eax
fldz
push esi
fstp dword [esp + 0x7c]
xor eax, eax
fild dword [esp + 0x70]
lea ecx, [esp + 0x68]
fstp dword [esp + 0x80]
fild dword [esp + 0x30]
fstp dword [esp + 0x84]
fild dword [esp + 0x48]
fstp dword [esp + 0x68]
fild dword [esp + 0x98]
fstp dword [esp + 0x6c]
fild dword [esp + 0x50]
fstp dword [esp + 0x70]
fild dword [esp + 0x54]
fstp dword [esp + 0x74]
call fcn.101347e0
cmp byte [esp + 0x17], 0
je 0x100e1c7d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x2c]
cmp dword [eax + 0x64], 0
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
jne 0x100e1b0b
mov ecx, dword [eax + 0x60]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1b07
cmp ecx, 1
jne 0x100e1b0b
xor edi, edi
jmp 0x100e1b17
mov cx, word [eax + 0x60]
and cx, 0xfff
movzx edi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1b31
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1b2d
cmp ecx, 1
jne 0x100e1b31
xor ebp, ebp
jmp 0x100e1b3d
mov dx, word [eax + 0x3c]
and dx, 0xfff
movzx ebp, dx
cmp dword [eax + 0x64], 0
jne 0x100e1b57
mov ecx, dword [eax + 0x48]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1b53
cmp ecx, 1
jne 0x100e1b57
xor esi, esi
jmp 0x100e1b63
mov cx, word [eax + 0x48]
and cx, 0xfff
movzx esi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1b7d
mov ecx, dword [eax + 0x60]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1b79
cmp ecx, 1
jne 0x100e1b7d
xor edx, edx
jmp 0x100e1b89
mov dx, word [eax + 0x60]
and dx, 0xfff
movzx edx, dx
cmp dword [eax + 0x64], 0
jne 0x100e1ba3
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1b9f
cmp ecx, 1
jne 0x100e1ba3
xor eax, eax
jmp 0x100e1bae
mov ax, word [eax + 0x3c]
and ax, 0xfff
movzx eax, ax
movzx ecx, ax
add ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
movzx edx, dx
sub eax, edx
add eax, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x38], ecx
movzx ecx, si
mov dword [esp + 0x3c], eax
sub edx, ecx
movzx eax, bp
movzx ecx, di
sub edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
call fcn.101160c0
mov esi, eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
cmp byte [edx + 0x64], 0
jne 0x100e1c7d
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x100e1c24
push ecx
push 2
push eax
lea eax, [esp + 0x64]
lea ecx, [esp + 0x44]
call fcn.100a5f10
jmp 0x100e1c7d
fild dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x6c]
push ecx
fstp dword [esp + 0x70]
push eax
fild dword [esp + 0x68]
push esi
xor eax, eax
lea ecx, [esp + 0x68]
fstp dword [esp + 0x7c]
fild dword [esp + 0x70]
fstp dword [esp + 0x80]
fild dword [esp + 0x38]
fstp dword [esp + 0x84]
fild dword [esp + 0x48]
fstp dword [esp + 0x68]
fild dword [esp + 0x4c]
fstp dword [esp + 0x6c]
fild dword [esp + 0x50]
fstp dword [esp + 0x70]
fild dword [esp + 0x54]
fstp dword [esp + 0x74]
call fcn.101347e0
cmp byte [esp + 0x1a], 0
je 0x100e1e09
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x6c], ecx
sub eax, ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x2c]
cmp dword [eax + 0x64], 0
mov dword [esp + 0x68], edx
jne 0x100e1cd2
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1cce
cmp ecx, 1
jne 0x100e1cd2
xor ebx, ebx
jmp 0x100e1cde
mov dx, word [eax + 0x54]
and dx, 0xfff
movzx ebx, dx
cmp dword [eax + 0x64], 0
jne 0x100e1cf8
mov ecx, dword [eax + 0x60]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1cf4
cmp ecx, 1
jne 0x100e1cf8
xor edi, edi
jmp 0x100e1d04
mov cx, word [eax + 0x60]
and cx, 0xfff
movzx edi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1d1e
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1d1a
cmp ecx, 1
jne 0x100e1d1e
xor ebp, ebp
jmp 0x100e1d2a
mov dx, word [eax + 0x3c]
and dx, 0xfff
movzx ebp, dx
cmp dword [eax + 0x64], 0
jne 0x100e1d44
mov ecx, dword [eax + 0x48]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1d40
cmp ecx, 1
jne 0x100e1d44
xor esi, esi
jmp 0x100e1d50
mov cx, word [eax + 0x48]
and cx, 0xfff
movzx esi, cx
cmp dword [eax + 0x64], 0
jne 0x100e1d6a
mov ecx, dword [eax + 0x54]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1d66
cmp ecx, 1
jne 0x100e1d6a
xor edx, edx
jmp 0x100e1d76
mov dx, word [eax + 0x54]
and dx, 0xfff
movzx edx, dx
cmp dword [eax + 0x64], 0
jne 0x100e1d90
mov ecx, dword [eax + 0x3c]
shr ecx, 0xc
and ecx, 0xf
je 0x100e1d8c
cmp ecx, 1
jne 0x100e1d90
xor eax, eax
jmp 0x100e1d9b
mov ax, word [eax + 0x3c]
and ax, 0xfff
movzx eax, ax
movzx ecx, ax
add ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
movzx edx, dx
add edx, dword [esp + 0x88]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
movzx ecx, si
sub eax, ecx
movzx edx, bp
sub eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x90]
movzx ecx, di
sub eax, ecx
movzx edx, bx
sub eax, edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x30]
call fcn.101160c0
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x54]
push eax
push ecx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x64]
call fcn.100a65c0
cmp byte [esp + 0x1b], 0
je 0x100e1e1d
mov edx, dword [esp + 0x80]
push edx
call fcn.100a5e20
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret 0x18