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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x224
mov eax, dword [0x102f0d80]
xor eax, esp
mov dword [esp + 0x220], eax
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 8]
mov bl, 1
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x100], ecx
push edi
lea edi, [esp + 0x100]
mov dword [esp + 0x54], esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x28], edi
mov byte [esp + 0x1b], bl
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x110], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x114], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
nop dword [eax + eax]
mov eax, dword [esi]
lea edx, [esp + 0x200]
mov ecx, dword [esi + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
cmp edi, edx
jae 0x100ff402
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
push edi
call fcn.100fe3d0
add esp, 0x10
test al, al
jne 0x100ff3fa
cmp byte [esi + 0x90], al
je 0x100ff3e9
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esi], eax
mov dword [esi + 4], ecx
push edi
call fcn.100fe6c0
add esp, 4
add edi, 0x18
jmp 0x1010008f
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
test bl, bl
je 0x100ff706
cmp byte [esi + 0x90], 0
mov byte [esp + 0x1b], 0
je 0x100ff42c
push 0
push 0
push ecx
push eax
push esi
call fcn.10100370
add esp, 0x14
jmp 0x100ffa30
push ecx
push eax
push dword [esi + 4]
mov dword [esi + 8], eax
push dword [esi]
mov dword [esi + 0xc], ecx
call fcn.100fdf90
mov ecx, eax
add esp, 0x10
or ecx, edx
je 0x100ffa30
xor edi, edi
test edx, edx
jg 0x100ff45c
jl 0x100ff457
test eax, eax
jae 0x100ff45c
mov edi, 1
push 0
push 0
push edi
push esi
call fcn.10100560
mov ecx, 1
add esp, 0x10
sub ecx, edi
lea eax, [ecx*2 + 0xb]
add eax, ecx
cmp dword [esi + 0x4c], 1
lea eax, [esi + eax*8]
mov dword [esp + 0x1c], eax
jne 0x100ff496
push ecx
push esi
call fcn.100fed30
add esp, 8
jmp 0x100ffa30
mov eax, ecx
mov edi, 0x5a0000
mov ecx, 0xb40000
mov ebx, 0
imul ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x90], xmm0
sub edi, eax
mov eax, dword [esi + 0x4c]
sbb ebx, edx
test eax, eax
sete byte [esp + 0xf]
test eax, eax
je 0x100ff5ff
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
call fcn.100fdf90
mov ecx, eax
add esp, 0x10
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
cmp ecx, 0xb40000
jne 0x100ff505
test edx, edx
jne 0x100ff505
mov eax, edi
mov edx, ebx
jmp 0x100ff532
push 0
push 2
push edx
push ecx
call fcn.1011c9c0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
adc ecx, edx
add eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
adc ecx, ebx
mov dword [esp + 0x10], ecx
push edx
push eax
call fcn.100fdf50
push edx
push eax
push dword [esi + 0x44]
mov dword [esp + 0x40], eax
push dword [esi + 0x40]
mov dword [esp + 0x48], edx
call fcn.100fe1f0
add esp, 0x18
test edx, edx
jg 0x100ff55e
jl 0x100ff571
cmp eax, 0x10000
jb 0x100ff571
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
cmp byte [esp + 0xf], 0
je 0x100ff622
add edi, dword [esi + 8]
mov eax, dword [esi + 0x38]
adc ebx, dword [esi + 0xc]
push ebx
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x9c]
push edi
push eax
mov dword [esp + 0xa8], 0
call fcn.100fe260
movd xmm0, dword [esp + 0xa4]
lea ecx, [esp + 0xa4]
cvtdq2ps xmm0, xmm0
push 0
push ecx
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0xb0]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xac], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x30]
push eax
mov byte [eax + 0x14], 0
call fcn.100ff260
add esp, 0x18
jmp 0x100ffa30
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x90]
jmp 0x100ff566
push ecx
push eax
push dword [esi + 0x3c]
push dword [esi + 0x38]
call fcn.100fe000
push dword [esp + 0x20]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push dword [esp + 0x28]
mov dword [esp + 0x54], 0
push eax
call fcn.100fe260
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
push 0
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x5c]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x58], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x40]
call fcn.100ff260
add edi, dword [esi + 8]
mov eax, dword [esi + 0x38]
adc ebx, dword [esi + 0xc]
push ebx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push edi
push eax
mov dword [esp + 0x70], 0
call fcn.100fe260
movd xmm0, dword [esp + 0x6c]
cvtdq2ps xmm0, xmm0
push 0
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x74]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x70], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x58]
call fcn.100ff260
add esp, 0x40
jmp 0x100ffa30
push ecx
push eax
push dword [esi + 4]
push dword [esi]
call fcn.100fdf90
mov ecx, eax
add esp, 0x10
mov eax, edx
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov dword [esp + 0x4c], eax
js 0x100ffa30
jg 0x100ff73a
cmp ecx, 0x5a000
jbe 0x100ffa30
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x5c]
push eax
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x5c]
push ecx
push dword [esi + 4]
mov dword [esi + 8], ecx
push dword [esi]
mov dword [esi + 0xc], eax
mov dword [esi + 0x4c], 1
call fcn.100fdf90
mov ecx, eax
add esp, 0x10
or ecx, edx
je 0x100ffa2a
xor edi, edi
test edx, edx
jg 0x100ff785
jl 0x100ff780
test eax, eax
jae 0x100ff785
mov edi, 1
push 0
push 0
push edi
push esi
call fcn.10100560
mov ecx, 1
add esp, 0x10
sub ecx, edi
lea eax, [ecx*2 + 0xb]
add eax, ecx
cmp dword [esi + 0x4c], 1
lea eax, [esi + eax*8]
mov dword [esp + 0x1c], eax
jne 0x100ff7bf
push ecx
push esi
call fcn.100fed30
add esp, 8
jmp 0x100ffa2a
mov eax, ecx
mov edi, 0x5a0000
mov ecx, 0xb40000
mov ebx, 0
imul ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x90], xmm0
sub edi, eax
mov eax, dword [esi + 0x4c]
sbb ebx, edx
test eax, eax
sete byte [esp + 0xf]
test eax, eax
je 0x100ff928
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
call fcn.100fdf90
mov ecx, eax
add esp, 0x10
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x14], eax
cmp ecx, 0xb40000
jne 0x100ff82e
test edx, edx
jne 0x100ff82e
mov eax, edi
mov edx, ebx
jmp 0x100ff85b
push 0
push 2
push edx
push ecx
call fcn.1011c9c0
mov ecx, eax
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x14]
adc ecx, edx
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
adc ecx, ebx
mov dword [esp + 0x14], ecx
push edx
push eax
call fcn.100fdf50
push edx
push eax
push dword [esi + 0x44]
mov dword [esp + 0x44], eax
push dword [esi + 0x40]
mov dword [esp + 0x44], edx
call fcn.100fe1f0
add esp, 0x18
test edx, edx
jg 0x100ff887
jl 0x100ff89a
cmp eax, 0x10000
jb 0x100ff89a
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
cmp byte [esp + 0xf], 0
je 0x100ff94b
add edi, dword [esi + 8]
mov eax, dword [esi + 0x38]
adc ebx, dword [esi + 0xc]
push ebx
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa4]
push edi
push eax
mov dword [esp + 0xb0], 0
call fcn.100fe260
movd xmm0, dword [esp + 0xac]
lea ecx, [esp + 0xac]
cvtdq2ps xmm0, xmm0
push 0
push ecx
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0xb8]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xb4], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x30]
push eax
mov byte [eax + 0x14], 0
call fcn.100ff260
add esp, 0x18
jmp 0x100ffa2a
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
jmp 0x100ff88f
push ecx
push eax
push dword [esi + 0x3c]
push dword [esi + 0x38]
call fcn.100fe000
push dword [esp + 0x24]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
push dword [esp + 0x24]
mov dword [esp + 0x5c], 0
push eax
call fcn.100fe260
movd xmm0, dword [esp + 0x5c]
cvtdq2ps xmm0, xmm0
push 0
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x64]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x60], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x40]
call fcn.100ff260
add edi, dword [esi + 8]
mov eax, dword [esi + 0x38]
adc ebx, dword [esi + 0xc]
push ebx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
push edi
push eax
mov dword [esp + 0x78], 0
call fcn.100fe260
movd xmm0, dword [esp + 0x74]
cvtdq2ps xmm0, xmm0
push 0
mulss xmm0, dword [esi + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x7c]
add eax, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x78], eax
mulss xmm0, dword [esi + 0x8c]
cvttss2si eax, xmm0
add eax, dword [esi + 0x14]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x58]
call fcn.100ff260
add esp, 0x40
mov eax, dword [esi + 0x50]
mov dword [esi + 0x4c], eax
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.100fdf90
add esp, 0x10
push 0
push 2
push edx
push eax
call fcn.1011c9c0
push dword [esp + 0x6c]
mov edi, eax
mov esi, edx
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.100fdf90
add esp, 0x10
push 0
push 2
push edx
push eax
call fcn.1011c9c0
push dword [esp + 0x64]
mov dword [esp + 0x38], eax
mov ebx, edx
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.100fe120
push dword [esp + 0x7c]
mov dword [esp + 0xd8], eax
push dword [esp + 0x7c]
mov dword [esp + 0xe0], edx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.100fe120
push esi
push edi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
call fcn.100fdf50
mov esi, dword [esp + 0x7c]
push edx
push eax
push dword [esi + 0x3c]
push dword [esi + 0x38]
call fcn.100fe000
push ebx
push dword [esp + 0x70]
mov dword [esp + 0x100], eax
mov dword [esp + 0x8c], edx
call fcn.100fdf50
add esp, 0x40
push edx
push eax
push dword [esi + 0x3c]
push dword [esi + 0x38]
call fcn.100fe000
add esp, 0x10
mov dword [esp + 0x4c], edx
cmp byte [esi + 0x92], 0
xorps xmm0, xmm0
mov dword [esp + 0xcc], eax
movlpd qword [esp + 0x48], xmm0
je 0x100ffb59
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
sub eax, dword [ecx + 0x18]
mov dword [esp + 0xd0], eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx + 0x1c]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xd0]
push eax
call fcn.100fded0
add esp, 4
mov dword [esp + 0x30], edx
jmp 0x100ffb65
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
lea ebx, [esi + 0x58]
xor eax, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], eax
nop dword [eax]
mov ecx, 0xb40000
mov dword [esp + 0x88], 0
imul ecx
mov edi, 0x5a0000
mov esi, 0
sub edi, eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x84], eax
mov ecx, edi
sbb esi, edx
add ecx, dword [esp + 0xc4]
mov eax, esi
adc eax, dword [esp + 0xc8]
push eax
push ecx
lea eax, [esp + 0x8c]
push eax
call fcn.100fe260
movd xmm0, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x8c], 0
mulss xmm0, dword [ecx + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x94]
add eax, dword [edx + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x90], eax
mulss xmm0, dword [ecx + 0x8c]
mov ecx, edi
cvttss2si eax, xmm0
add eax, dword [edx + 0x14]
add ecx, dword [esp + 0xb8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x88], eax
mov eax, esi
adc eax, dword [esp + 0xbc]
push eax
push ecx
lea eax, [esp + 0x90]
push eax
call fcn.100fe260
movd xmm0, dword [esp + 0x94]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x3c], 0
mulss xmm0, dword [ecx + 0x88]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x98]
add eax, dword [edx + 8]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x94], eax
mulss xmm0, dword [ecx + 0x8c]
cvttss2si eax, xmm0
add eax, dword [edx + 0xc]
add edi, dword [esp + 0x80]
mov dword [esp + 0x98], eax
adc esi, dword [esp + 0x84]
mov eax, dword [ecx + 0x38]
push esi
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push edi
push eax
call fcn.100fe260
movd xmm0, dword [esp + 0x44]
add esp, 0x24
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x88]
cvttss2si edx, xmm0
movd xmm0, dword [esp + 0x24]
add edx, dword [edi]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20], edx
mulss xmm0, dword [esi + 0x8c]
cvttss2si ecx, xmm0
mov eax, dword [edi + 4]
add eax, ecx
cmp byte [esi + 0x92], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], eax
je 0x101000c5
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + eax*8 - 8]
mov ecx, dword [ecx + eax*8 - 4]
mov eax, edi
sub edx, eax
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x10]
sub eax, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0xdc], edx
call fcn.100fded0
push edx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0xc4], eax
push dword [esp + 0x3c]
mov dword [esp + 0xa0], edx
call fcn.100fdf90
mov edi, dword [esp + 0x3c]
mov ecx, eax
mov eax, edx
add esp, 0x14
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
mov dword [esp + 0x4c], eax
js 0x101000c5
jg 0x100ffdb0
cmp ecx, 0x5a0000
jbe 0x101000c5
mov eax, dword [edi + 0x18]
sub eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov eax, dword [edi + 0x1c]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0xe0]
push eax
call fcn.100fded0
mov ecx, dword [edi]
sub ecx, dword [esp + 0x24]
mov dword [esp + 0xec], ecx
mov ecx, dword [edi + 4]
sub ecx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xec]
push eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xf4], ecx
call fcn.100fded0
mov ecx, dword [esp + 0x28]
mov ebx, eax
sub ecx, dword [esp + 0x1c]
lea eax, [esp + 0xf8]
mov dword [esp + 0xf8], ecx
mov esi, edx
mov ecx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x24]
push eax
mov dword [esp + 0xc8], esi
mov dword [esp + 0x100], ecx
call fcn.100fe090
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc0]
sub eax, ebx
mov dword [esp + 0x9c], edx
sbb ecx, esi
push ecx
push eax
call fcn.100fe370
mov esi, dword [esp + 0x24]
mov edi, edx
sub esi, ebx
mov dword [esp + 0xa0], eax
mov ebx, dword [esp + 0xcc]
mov ecx, ebx
sbb ecx, dword [esp + 0xd0]
push ecx
push esi
call fcn.100fe370
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
push eax
push ecx
mov ecx, dword [esp + 0xb0]
mov eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
push eax
push ecx
push dword [esp + 0xbc]
push dword [esp + 0x78]
call fcn.100fe150
push ebx
push dword [esp + 0x48]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
push eax
mov dword [esp + 0xb8], 0
call fcn.100fe260
mov edx, dword [esp + 0x54]
add esp, 0x40
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
add edx, dword [esp + 0x74]
add edi, dword [esp + 0x78]
mov ecx, dword [ebx]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edi
mov byte [ebx + 0x14], 0
test ecx, ecx
je 0x100fff2f
mov esi, dword [ebx + 8]
mov eax, dword [esi + ecx*8 - 8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x100fff2f
mov eax, dword [esi + ecx*8 - 4]
sub eax, edi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jl 0x100fff62
push 1
push ebx
call fcn.10100510
mov eax, dword [ebx]
add esp, 8
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx]
mov byte [ecx + eax], 1
add dword [ebx], 1
mov ecx, dword [ebx]
mov byte [ebx + 0x14], 0
je 0x100fff8b
mov eax, dword [ebx + 8]
mov esi, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 8]
sub eax, dword [esp + 0x20]
sub esi, dword [esp + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x100fff8b
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jl 0x100fffb9
push 1
push ebx
call fcn.10100510
mov eax, dword [ebx]
add esp, 8
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov byte [ecx + eax], 1
inc dword [ebx]
mov byte [ebx + 0x14], 0
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x84]
push eax
push ebx
call fcn.100ff1d0
add esp, 0x10
cmp byte [ebx + 0x14], 0
je 0x100ffff7
mov ecx, dword [ebx + 8]
mov eax, dword [ebx]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [ecx + eax*8 - 8], edx
mov dword [ecx + eax*8 - 4], esi
jmp 0x10100050
mov ecx, dword [ebx]
test ecx, ecx
je 0x10100026
mov eax, dword [ebx + 8]
mov esi, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 8]
sub eax, dword [esp + 0x20]
sub esi, dword [esp + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x10100026
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jl 0x10100054
push 1
push ebx
call fcn.10100510
mov eax, dword [ebx]
add esp, 8
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov byte [ecx + eax], 1
inc dword [ebx]
mov byte [ebx + 0x14], 0
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0xa8]
add ebx, 0x18
inc eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], eax
cmp eax, 2
jl 0x100ffb80
mov eax, dword [esp + 0x68]
sub edi, 0x18
mov ecx, dword [esp + 0x6c]
mov bl, byte [esp + 0x1b]
mov dword [esi], eax
mov dword [esi + 4], ecx
lea eax, [esp + 0x100]
mov dword [esp + 0x28], edi
cmp edi, eax
jae 0x100ff390
mov ecx, dword [ebp + 0x14]
pop edi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x228]
mov dword [esi + 0x10], eax
pop esi
pop ebx
xor ecx, esp
call fcn.1011bad5
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.100ff1d0
add esp, 0x10
jmp 0x1010005c