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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb8
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 0
mov edi, dword [esi]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x40], 0
mov eax, dword [edi + 0x20]
mov dword [esp + 0x50], eax
mov dword [esp + 0x94], eax
shl eax, 8
or eax, 0x32
mov dword [esp + 0x78], 0
push eax
push edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x3c], 0
call fcn.100f19e0
mov edx, dword [esp + 0x58]
add esp, 8
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], 0xc
mov dword [eax], edx
mov dword [eax + 0xc], 0xffffffff
mov dword [eax + 0x10], 0xffffffff
mov ecx, dword [edi + 0x20]
movzx eax, byte [edi + 0x42]
inc ecx
cmp ecx, eax
jbe 0x100f3965
cmp ecx, 0xfa
jae 0x100f4735
mov byte [edi + 0x42], cl
inc edx
mov dword [edi + 0x20], ecx
cmp dword [esi + 0x1c], 0x7b
mov dword [esp + 0x50], edx
jne 0x100f4742
push esi
call fcn.100eee30
mov eax, dword [esi + 0x1c]
add esp, 4
cmp eax, 0x7d
je 0x100f4545
nop dword [eax]
mov dword [esp + 0x3c], 0
cmp eax, 0x5b
jne 0x100f3ac5
push esi
call fcn.100eee30
push 0
lea eax, [esp + 0x18]
push eax
push esi
call fcn.100f2890
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp eax, dword [esp + 0x20]
lea eax, [esp + 0x10]
mov esi, dword [esi]
push eax
push esi
je 0x100f3a52
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x18], 0xc
jne 0x100f3a00
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
je 0x100f3a5a
mov eax, dword [esp + 0x10]
cmp eax, dword [esi + 0x24]
jb 0x100f3a00
push eax
lea eax, [esp + 0x14]
push eax
push esi
call fcn.100f4840
add esp, 0xc
jmp 0x100f3a5a
lea eax, [esp + 0x10]
push eax
push esi
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x18], 0xc
jne 0x100f3a21
mov eax, dword [esp + 0x10]
cmp eax, dword [esi + 0x24]
jb 0x100f3a21
dec dword [esi + 0x20]
mov edx, dword [esi + 0x20]
movzx eax, byte [esi + 0x42]
lea ecx, [edx + 1]
cmp ecx, eax
jbe 0x100f3a3e
cmp ecx, 0xfa
jae 0x100f474a
mov byte [esi + 0x42], cl
push edx
lea eax, [esp + 0x14]
mov dword [esi + 0x20], ecx
push eax
push esi
call fcn.100f4840
add esp, 0xc
jmp 0x100f3a5a
call fcn.100f2c20
add esp, 8
mov esi, dword [ebp + 8]
cmp dword [esi + 0x1c], 0x5d
jne 0x100f4757
push esi
call fcn.100eee30
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, 4
jle 0x100f3a91
lea eax, [esp + 0x10]
push eax
push dword [ebp + 0xc]
push edi
call fcn.100f3480
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, 4
jne 0x100f3aa9
mov eax, dword [esp + 0x14]
add eax, eax
or eax, dword [esp + 0x10]
jne 0x100f3aa9
mov dword [esp + 0x40], 1
jmp 0x100f3aad
inc dword [esp + 0x34]
cmp dword [esi + 0x1c], 0x3d
jne 0x100f476a
push esi
call fcn.100eee30
add esp, 4
jmp 0x100f3b83
cmp eax, 0x11f
je 0x100f3ad3
cmp eax, 0x10a
jne 0x100f3b44
push esi
call fcn.100eee10
add esp, 4
cmp eax, 0x3d
jne 0x100f3b44
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x18], 3
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
cmp eax, 0x11f
je 0x100f3b16
cmp eax, 0x10a
jne 0x100f475f
push dword [ebp + 8]
mov esi, dword [esi + 8]
call fcn.100eee30
mov dword [esp + 0x14], esi
add esp, 4
mov esi, dword [ebp + 8]
cmp dword [esi + 0x1c], 0x3d
jne 0x100f476a
push esi
call fcn.100eee30
add esp, 4
inc dword [esp + 0x34]
jmp 0x100f3b83
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
movd xmm0, eax
inc eax
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 1
movsd qword [esp + 0x10], xmm0
push 0
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.100f2890
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp ecx, 4
jg 0x100f3d44
test ecx, ecx
je 0x100f3d44
cmp ecx, 3
je 0x100f3bc6
cmp dword [esp + 0x60], 4
jg 0x100f3d44
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
jne 0x100f3d44
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x100f3c6d
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100f3be8
cmp eax, 1
jne 0x100f3be1
jmp 0x100f3bea
dec eax
bsr eax, eax
inc eax
jmp 0x100f3bea
xor eax, eax
push eax
xor eax, eax
cmp dword [esp + 0x44], eax
cmovne eax, dword [esp + 0x3c]
push eax
push dword [edi + 8]
call fcn.100e87a0
mov dword [esp + 0x38], eax
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa4]
push eax
push dword [edi]
mov dword [esp + 0xb0], 0xfffffff4
push dword [edi + 8]
call fcn.100e8b60
mov ecx, eax
add esp, 0x18
cmp dword [ecx + 4], 0
jne 0x100f3c36
mov ecx, dword [ecx]
jmp 0x100f3c4b
mov eax, dword [edi + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [edi + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x2c], eax
mov edx, dword [esp + 0x74]
mov eax, dword [edi + 0x34]
shl ecx, 8
or ecx, dword [esp + 0x94]
shl ecx, 8
or ecx, 0x33
mov dword [eax + edx*8], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0
cmp ecx, 2
jg 0x100f3c7e
not ecx
jmp 0x100f3c9f
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
cmp ecx, 3
jne 0x100f3c9b
mov dword [esp + 0x8c], 0xfffffffb
jmp 0x100f3ca6
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
lea eax, [esp + 0x88]
push eax
push edx
push dword [edi + 8]
call fcn.100e8b60
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov al, byte [eax + 4]
test al, 4
je 0x100f3ce4
mov ecx, dword [edi + 8]
and al, 0xfb
mov esi, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov byte [esi + 4], al
mov eax, dword [ecx + 0x30]
mov dword [esi + 0xc], eax
mov eax, esi
mov esi, dword [ebp + 8]
mov dword [ecx + 0x30], eax
mov ecx, dword [esp + 0x60]
cmp ecx, 4
jg 0x100f3d2b
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
jne 0x100f3d2b
cmp ecx, 2
jg 0x100f3d06
not ecx
mov dword [edx + 4], ecx
jmp 0x100f4511
mov eax, dword [esp + 0x58]
cmp ecx, 3
jne 0x100f3d1d
mov dword [edx], eax
mov dword [edx + 4], 0xfffffffb
jmp 0x100f4511
mov ecx, dword [esp + 0x5c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x100f4511
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
mov dword [edx + 4], 0xfffffff4
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], 1
cmp dword [esp + 0x60], 0xd
je 0x100f3dd6
lea eax, [esp + 0x58]
push eax
push edi
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x60], 0xc
jne 0x100f3d7a
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
je 0x100f3dca
mov eax, dword [esp + 0x58]
cmp eax, dword [edi + 0x24]
jb 0x100f3d7a
push eax
jmp 0x100f3dbc
lea eax, [esp + 0x58]
push eax
push edi
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x60], 0xc
jne 0x100f3d9b
mov eax, dword [esp + 0x58]
cmp eax, dword [edi + 0x24]
jb 0x100f3d9b
dec dword [edi + 0x20]
mov edx, dword [edi + 0x20]
movzx eax, byte [edi + 0x42]
lea ecx, [edx + 1]
cmp ecx, eax
jbe 0x100f3db8
cmp ecx, 0xfa
jae 0x100f4735
mov byte [edi + 0x42], cl
mov dword [edi + 0x20], ecx
push edx
lea eax, [esp + 0x5c]
push eax
push edi
call fcn.100f4840
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov eax, dword [ebp + 0xc]
cmp ecx, 4
jg 0x100f4502
mov dword [eax + 8], 9
jne 0x100f3e34
movsd xmm1, qword [esp + 0x10]
movaps xmm0, xmm1
addsd xmm0, qword [0x10131b68]
movsd qword [esp + 0x80], xmm0
mov ecx, dword [esp + 0x80]
movzx eax, cl
cmp ecx, eax
jne 0x100f3e9a
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x100f3e9a
lea eax, [ecx + 0x100]
jmp 0x100f44fa
cmp ecx, 3
jne 0x100f3e9a
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push eax
push dword [edi]
mov dword [esp + 0xac], 0xfffffffb
push dword [edi + 8]
call fcn.100e8b60
mov ecx, eax
add esp, 0xc
cmp dword [ecx + 4], 0
jne 0x100f3e70
mov ecx, dword [ecx]
jmp 0x100f3e85
mov eax, dword [edi + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [edi + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x2c], eax
cmp ecx, 0xff
ja 0x100f3e9a
mov eax, dword [ebp + 0xc]
not ecx
mov dword [eax + 4], ecx
jmp 0x100f4502
lea eax, [esp + 0x10]
push eax
push edi
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x18], 0xc
jne 0x100f419e
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
je 0x100f44fa
mov dword [esp + 8], eax
cmp eax, dword [edi + 0x24]
jb 0x100f419e
push eax
lea eax, [esp + 0x14]
push eax
push edi
call fcn.100f4960
add esp, 0xc
cmp dword [esp + 0x18], 0xa
jne 0x100f3f37
mov edx, dword [esp + 0x10]
cmp edx, 0xffffffff
je 0x100f3f37
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x100f3f00
mov dword [esp + 0x1c], edx
jmp 0x100f3f37
mov esi, dword [edi + 0x34]
movzx eax, word [esi + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f3f1e
inc eax
add eax, ecx
cmp eax, 0xffffffff
je 0x100f3f1e
mov ecx, eax
jmp 0x100f3f03
sub edx, ecx
add edx, 0x7fff
cmp edx, 0xffff
ja 0x100f4772
mov word [esi + ecx*8 + 2], dx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], esi
cmp ecx, esi
je 0x100f44d7
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
cmp ecx, 0xffffffff
je 0x100f3fa3
mov esi, dword [edi + 0x34]
cmp ecx, 1
lea eax, [ecx - 1]
cmovb eax, ecx
mov eax, dword [esi + eax*8]
movzx edx, al
cmp edx, 0xc
je 0x100f3f88
cmp edx, 0xd
je 0x100f3f88
and eax, 0xff00
cmp eax, 0xff00
jne 0x100f3ff9
movzx eax, word [esi + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f3f9f
inc ecx
add ecx, eax
cmp ecx, 0xffffffff
jne 0x100f3f63
mov esi, dword [esp + 0xc]
mov ecx, esi
cmp ecx, 0xffffffff
je 0x100f4074
mov edx, dword [edi + 0x34]
cmp ecx, 1
lea eax, [ecx - 1]
cmovb eax, ecx
mov eax, dword [edx + eax*8]
movzx edx, al
cmp edx, 0xc
je 0x100f3fd6
cmp edx, 0xd
je 0x100f3fd6
and eax, 0xff00
cmp eax, 0xff00
jne 0x100f3ff9
mov edx, dword [edi + 0x34]
movzx eax, word [edx + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f4074
inc ecx
add ecx, eax
cmp ecx, 0xffffffff
jne 0x100f3fb1
jmp 0x100f4074
cmp dword [esp + 0x18], 0xa
jne 0x100f400a
mov dword [esp + 0xc], 0xffffffff
jmp 0x100f4017
push edi
call fcn.100f20b0
add esp, 4
mov dword [esp + 0xc], eax
mov esi, dword [esp + 8]
shl esi, 8
mov ecx, esi
or ecx, 0x10029
push ecx
push edi
call fcn.100f19e0
mov ecx, dword [edi + 0x20]
shl ecx, 8
or ecx, 0x80010054
mov dword [esp + 0x4c], eax
push ecx
push edi
call fcn.100f19e0
or esi, 0x20029
push esi
push edi
call fcn.100f19e0
mov ecx, dword [edi + 0x14]
push dword [esp + 0x24]
mov dword [edi + 0x18], ecx
lea ecx, [edi + 0x1c]
push ecx
push edi
mov dword [esp + 0x54], eax
call fcn.100f59f0
mov esi, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0xc], esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x4c], eax
mov dword [edi + 0x18], eax
cmp esi, 0xffffffff
je 0x100f4195
mov ecx, dword [edi + 0x34]
mov edx, dword [ecx + esi*8]
mov eax, edx
shr eax, 0x10
sub eax, 0x8000
shr edx, 8
mov dword [esp + 0x54], edx
cmp eax, 0xffffffff
jne 0x100f40a7
or eax, eax
jmp 0x100f40aa
inc eax
add eax, esi
cmp esi, 1
mov dword [esp + 0x48], eax
lea edx, [esi - 1]
cmovb edx, esi
mov eax, dword [ecx + edx*8]
movzx esi, al
mov dword [esp + 0x80], esi
cmp esi, 0xc
je 0x100f4130
cmp esi, 0xd
je 0x100f4130
shr eax, 8
cmp al, 0xff
jne 0x100f410f
mov eax, dword [esp + 8]
cmp eax, 0xff
jne 0x100f40f4
mov eax, dword [esp + 0x54]
movzx eax, al
shl eax, 8
or eax, 0x80000054
mov dword [ecx + edx*8], eax
jmp 0x100f415c
mov byte [ecx + edx*8 + 1], al
movzx eax, byte [ecx + edx*8 + 9]
cmp dword [esp + 8], eax
jb 0x100f415c
mov al, byte [esp + 8]
inc al
mov byte [ecx + edx*8 + 9], al
jmp 0x100f415c
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xc]
sub eax, edx
add eax, 0x7fff
cmp eax, 0xffff
ja 0x100f4772
mov word [ecx + edx*8 + 2], ax
jmp 0x100f4180
mov esi, dword [esp + 8]
cmp esi, 0xff
je 0x100f414b
shr eax, 0x10
cmp esi, eax
je 0x100f414b
mov eax, esi
mov byte [ecx + edx*8 + 1], al
jmp 0x100f415c
mov eax, dword [esp + 0x80]
add al, 2
mov byte [ecx + edx*8 + 1], 0
mov byte [ecx + edx*8], al
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
sub ecx, edx
add ecx, 0x7fff
cmp ecx, 0xffff
ja 0x100f4772
mov eax, dword [edi + 0x34]
mov word [eax + edx*8 + 2], cx
mov esi, dword [esp + 0x48]
mov dword [esp + 0xc], esi
cmp esi, 0xffffffff
jne 0x100f4087
mov eax, dword [esp + 0x4c]
push dword [esp + 0x30]
jmp 0x100f44c5
lea eax, [esp + 0x10]
push eax
push edi
call fcn.100f2c20
add esp, 8
cmp dword [esp + 0x18], 0xc
jne 0x100f41bf
mov eax, dword [esp + 0x10]
cmp eax, dword [edi + 0x24]
jb 0x100f41bf
dec dword [edi + 0x20]
mov edx, dword [edi + 0x20]
movzx eax, byte [edi + 0x42]
mov dword [esp + 8], edx
lea ecx, [edx + 1]
cmp ecx, eax
jbe 0x100f41e0
cmp ecx, 0xfa
jae 0x100f4735
mov byte [edi + 0x42], cl
push edx
lea eax, [esp + 0x14]
mov dword [edi + 0x20], ecx
push eax
push edi
call fcn.100f4960
add esp, 0xc
cmp dword [esp + 0x18], 0xa
jne 0x100f4254
mov edx, dword [esp + 0x10]
cmp edx, 0xffffffff
je 0x100f4254
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x100f4211
mov dword [esp + 0x1c], edx
jmp 0x100f4254
mov esi, dword [edi + 0x34]
nop dword [eax]
nop dword [eax + eax]
movzx eax, word [esi + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f423b
inc eax
add eax, ecx
cmp eax, 0xffffffff
je 0x100f423b
mov ecx, eax
jmp 0x100f4220
sub edx, ecx
add edx, 0x7fff
cmp edx, 0xffff
ja 0x100f4772
mov word [esi + ecx*8 + 2], dx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], esi
cmp ecx, esi
je 0x100f44d7
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
cmp ecx, 0xffffffff
je 0x100f42c4
mov esi, dword [edi + 0x34]
cmp ecx, 1
lea eax, [ecx - 1]
cmovb eax, ecx
mov eax, dword [esi + eax*8]
movzx edx, al
cmp edx, 0xc
je 0x100f42a9
cmp edx, 0xd
je 0x100f42a9
and eax, 0xff00
cmp eax, 0xff00
jne 0x100f431a
movzx eax, word [esi + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f42c0
inc ecx
add ecx, eax
cmp ecx, 0xffffffff
jne 0x100f4280
mov esi, dword [esp + 0xc]
mov ecx, esi
cmp ecx, 0xffffffff
je 0x100f4395
mov edx, dword [edi + 0x34]
cmp ecx, 1
lea eax, [ecx - 1]
cmovb eax, ecx
mov eax, dword [edx + eax*8]
movzx edx, al
cmp edx, 0xc
je 0x100f42f7
cmp edx, 0xd
je 0x100f42f7
and eax, 0xff00
cmp eax, 0xff00
jne 0x100f431a
mov edx, dword [edi + 0x34]
movzx eax, word [edx + ecx*8 + 2]
sub eax, 0x8000
cmp eax, 0xffffffff
je 0x100f4395
inc ecx
add ecx, eax
cmp ecx, 0xffffffff
jne 0x100f42d2
jmp 0x100f4395
cmp dword [esp + 0x18], 0xa
jne 0x100f432b
mov dword [esp + 0x30], 0xffffffff
jmp 0x100f4338
push edi
call fcn.100f20b0
add esp, 4
mov dword [esp + 0x30], eax
mov esi, dword [esp + 8]
shl esi, 8
mov ecx, esi
or ecx, 0x10029
push ecx
push edi
call fcn.100f19e0
mov ecx, dword [edi + 0x20]
shl ecx, 8
or ecx, 0x80010054
mov dword [esp + 0x54], eax
push ecx
push edi
call fcn.100f19e0
or esi, 0x20029
push esi
push edi
call fcn.100f19e0
mov ecx, dword [edi + 0x14]
push dword [esp + 0x48]
mov dword [edi + 0x18], ecx
lea ecx, [edi + 0x1c]
push ecx
push edi
mov dword [esp + 0x68], eax
call fcn.100f59f0
mov esi, dword [esp + 0x44]
add esp, 0x24
mov dword [esp + 0xc], esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x48], eax
mov dword [edi + 0x18], eax
cmp esi, 0xffffffff
je 0x100f44c1
mov ecx, dword [edi + 0x34]
mov edx, dword [ecx + esi*8]
mov eax, edx
shr eax, 0x10
sub eax, 0x8000
shr edx, 8
mov dword [esp + 0x80], edx
cmp eax, 0xffffffff
jne 0x100f43cb
or eax, eax
jmp 0x100f43ce
inc eax
add eax, esi
cmp esi, 1
mov dword [esp + 0x30], eax
lea edx, [esi - 1]
cmovb edx, esi
mov eax, dword [ecx + edx*8]
movzx esi, al
mov dword [esp + 0x54], esi
cmp esi, 0xc
je 0x100f445f
cmp esi, 0xd
je 0x100f445f
shr eax, 8
cmp al, 0xff
jne 0x100f443e
mov eax, dword [esp + 8]
cmp eax, 0xff
jne 0x100f4423
mov eax, dword [esp + 0x80]
movzx eax, al
shl eax, 8
or eax, 0x80000054
mov dword [ecx + edx*8], eax
jmp 0x100f4488
mov byte [ecx + edx*8 + 1], al
movzx eax, byte [ecx + edx*8 + 9]
cmp dword [esp + 8], eax
jb 0x100f4488
mov al, byte [esp + 8]
inc al
mov byte [ecx + edx*8 + 9], al
jmp 0x100f4488
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
sub eax, edx
add eax, 0x7fff
cmp eax, 0xffff
ja 0x100f4772
mov word [ecx + edx*8 + 2], ax
jmp 0x100f44ac
mov esi, dword [esp + 8]
cmp esi, 0xff
je 0x100f447a
shr eax, 0x10
cmp esi, eax
je 0x100f447a
mov eax, esi
mov byte [ecx + edx*8 + 1], al
jmp 0x100f4488
mov eax, dword [esp + 0x54]
add al, 2
mov byte [ecx + edx*8 + 1], 0
mov byte [ecx + edx*8], al
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
sub ecx, edx
add ecx, 0x7fff
cmp ecx, 0xffff
ja 0x100f4772
mov eax, dword [edi + 0x34]
mov word [eax + edx*8 + 2], cx
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], esi
cmp esi, 0xffffffff
jne 0x100f43a8
mov eax, dword [esp + 0x48]
push dword [esp + 0x44]
push dword [esp + 0xc]
push eax
push dword [esp + 0x28]
push edi
call fcn.100f5bf0
add esp, 0x14
mov eax, dword [esp + 8]
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], 0xc
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 4], eax
mov eax, ecx
lea ecx, [esp + 0x58]
push ecx
push eax
push edi
call fcn.100f2390
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
cmp eax, 0x2c
je 0x100f4525
cmp eax, 0x3b
jne 0x100f453c
push esi
call fcn.100eee30
mov eax, dword [esi + 0x1c]
add esp, 4
cmp eax, 0x7d
jne 0x100f3990
jmp 0x100f4545
cmp eax, 0x7d
jne 0x100f46fc
push esi
call fcn.100eee30
add esp, 4
cmp dword [esp + 0x3c], 0
je 0x100f45f9
mov edx, dword [esp + 0x38]
mov esi, dword [edi + 0x34]
mov ecx, dword [edi + 0x14]
add esi, 0xfffffff8
mov dword [esp + 0xb0], 4
mov dword [esp + 0xb4], 0xffffffff
lea eax, [edx - 1]
mov dword [esp + 0xb8], 0xffffffff
mov dword [esp + 0xa8], eax
lea esi, [esi + ecx*8]
mov dword [esp + 0xac], 0x43300000
cmp edx, 0x100
jbe 0x100f45b0
lea eax, [ecx - 1]
sub esi, 8
mov dword [edi + 0x14], eax
lea eax, [esp + 0xa8]
push eax
push dword [edi]
push dword [edi + 8]
call fcn.100e8b60
mov ecx, eax
add esp, 0xc
cmp dword [ecx + 4], 0
jne 0x100f45d1
mov ecx, dword [ecx]
jmp 0x100f45e6
mov eax, dword [edi + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [edi + 0x28]
lea eax, [ecx + 1]
mov dword [edi + 0x28], eax
shl ecx, 8
or ecx, dword [esp + 0x50]
shl ecx, 8
or ecx, 0x3c
mov byte [esi - 5], 0
mov dword [esi], ecx
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x74]
dec eax
cmp esi, eax
jne 0x100f4614
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, 0xb
dec dword [edi + 0x20]
jmp 0x100f4619
mov eax, 0xc
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x100f4697
cmp dword [esp + 0x40], 0
mov ecx, dword [edi + 0x34]
jne 0x100f4639
xor edx, edx
jmp 0x100f4653
mov edx, dword [esp + 0x38]
cmp edx, 3
jae 0x100f4649
mov edx, 3
jmp 0x100f4653
mov eax, 0x7ff
cmp edx, eax
cmova edx, eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100f4685
cmp eax, 1
jne 0x100f4670
shl eax, 0xb
or eax, edx
mov word [ecx + esi*8 + 2], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
dec eax
bsr eax, eax
inc eax
shl eax, 0xb
or eax, edx
mov word [ecx + esi*8 + 2], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
shl eax, 0xb
or eax, edx
mov word [ecx + esi*8 + 2], ax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x40], 0
je 0x100f46b9
mov eax, dword [esp + 0x38]
cmp dword [ecx + 0x18], eax
jae 0x100f46b9
dec eax
push eax
push ecx
push dword [edi + 8]
call fcn.100e8b00
mov ecx, dword [esp + 0x38]
add esp, 0xc
cmp dword [esp + 0x78], 0
je 0x100f46e3
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x1c]
add eax, 4
inc ecx
nop word [eax + eax]
cmp dword [eax], 0xfffffff4
jne 0x100f46db
mov dword [eax], 0xffffffff
add eax, 0x18
sub ecx, 1
jne 0x100f46d0
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x14]
cmp eax, dword [edx + 0x18]
jb 0x100f4691
call fcn.100e4880
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x7c]
push 0x7d
push esi
cmp eax, dword [esi + 0x40]
je 0x100f477f
call fcn.100ef0b0
mov edi, dword [ebp + 8]
mov esi, eax
push 0x7b
push edi
call fcn.100ef0b0
add esp, 0x10
push dword [esp + 0x7c]
push eax
push esi
push 0xaa5
push dword [edi + 0x1c]
push edi
call fcn.100eed50
push 0xa11
push dword [edi + 4]
call fcn.100f2840
push 0x7b
push esi
call fcn.100f2860
push 0xa11
push dword [esi + 4]
call fcn.100f2840
push 0x5d
push esi
call fcn.100f2860
push 0x11f
push esi
call fcn.100f2860
push 0x3d
push esi
call fcn.100f2860
push 0x9f6
push dword [edi + 4]
call fcn.100f2840
call fcn.100f2860
int3