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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov eax, ecx
mov dword [esp + 0x30], 0
push edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], eax
mov esi, edx
mov edx, 0x20
push 0
push ecx
mov ecx, eax
mov dword [esp + 0x54], esi
call fcn.100bbe20
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100c5173
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov eax, dword [ebp + 0xc]
add ecx, 1
mov edi, dword [esp + 0x34]
adc eax, ebx
movlpd qword [esp + 0x50], xmm0
push eax
push ecx
push 1
push edi
call sym.sqlite3.dll_sqlite3_bind_int64
mov eax, esi
cdq
push edx
push eax
push 2
push edi
call sym.sqlite3.dll_sqlite3_bind_int64
push edi
call sym.sqlite3.dll_sqlite3_step
add esp, 0x24
cmp eax, 0x64
jne 0x100c517c
lea edx, [ebx + 1]
test edi, edi
je 0x100c42f9
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c42ce
push eax
call dword [0x1011d148]
add esp, 4
lea edx, [ebx + 1]
mov ecx, dword [edi + 0x80]
test ecx, ecx
je 0x100c42e6
cmp dx, word [edi + 0x98]
jae 0x100c42e6
add ecx, 0x28
jmp 0x100c42fe
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 0x24
je 0x100c4311
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], ecx
jmp 0x100c434e
test al, 8
je 0x100c4324
movsd xmm0, qword [ecx]
call fcn.10027da0
mov dword [esp + 0x20], edx
jmp 0x100c434e
test al, 0x12
je 0x100c4339
cmp dword [ecx + 0x10], 0
je 0x100c4339
call fcn.10027dd0
mov dword [esp + 0x20], edx
jmp 0x100c434e
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
test edi, edi
je 0x100c43cb
mov eax, dword [edi]
mov edx, dword [edi + 0x28]
cmp byte [eax + 0x53], 0
jne 0x100c4369
test edx, edx
jne 0x100c4369
xor ecx, ecx
jmp 0x100c4374
mov ecx, eax
call fcn.10005460
mov ecx, eax
mov eax, dword [edi]
mov dword [edi + 0x28], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c4388
push eax
call dword [0x1011d150]
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c439b
push eax
call dword [0x1011d148]
add esp, 4
mov ecx, dword [edi + 0x80]
test ecx, ecx
je 0x100c43b8
mov eax, 2
cmp ax, word [edi + 0x98]
jae 0x100c43b8
add ecx, 0x50
jmp 0x100c43d0
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 0x24
je 0x100c43e3
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
jmp 0x100c4420
test al, 8
je 0x100c43f6
movsd xmm0, qword [ecx]
call fcn.10027da0
mov dword [esp + 0x24], edx
jmp 0x100c4420
test al, 0x12
je 0x100c440b
cmp dword [ecx + 0x10], 0
je 0x100c440b
call fcn.10027dd0
mov dword [esp + 0x24], edx
jmp 0x100c4420
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
test edi, edi
je 0x100c445a
mov eax, dword [edi]
mov edx, dword [edi + 0x28]
cmp byte [eax + 0x53], 0
jne 0x100c443b
test edx, edx
jne 0x100c443b
xor ecx, ecx
jmp 0x100c4446
mov ecx, eax
call fcn.10005460
mov ecx, eax
mov eax, dword [edi]
mov dword [edi + 0x28], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c445a
push eax
call dword [0x1011d150]
add esp, 4
mov ebx, dword [ebp + 0x18]
lea eax, [esp + 0x50]
mov edx, 3
mov ecx, edi
lea esi, [ebx + 0x28]
push esi
push eax
call fcn.100c09f0
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
test ecx, ecx
jg 0x100c4490
jl 0x100c4484
test eax, eax
jae 0x100c4490
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x100c4498
mov al, 1
jmp 0x100c449a
xor al, al
mov byte [ebx + 0x30], al
mov esi, 4
test edi, edi
je 0x100c44e7
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c44b9
push eax
call dword [0x1011d148]
add esp, 4
mov ecx, dword [edi + 0x80]
test ecx, ecx
je 0x100c44d4
cmp si, word [edi + 0x98]
jae 0x100c44d4
add ecx, 0xa0
jmp 0x100c44ec
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 2
je 0x100c4503
cmp byte [ecx + 0xa], 1
jne 0x100c4503
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0x1c], ebx
jmp 0x100c453c
test al, 0x10
je 0x100c4523
mov edx, dword [ecx + 0xc]
test eax, 0x4000
je 0x100c451b
mov ebx, dword [ecx]
add ebx, edx
mov dword [esp + 0x1c], ebx
jmp 0x100c453c
mov ebx, edx
mov dword [esp + 0x1c], ebx
jmp 0x100c453c
test al, 1
je 0x100c452f
xor ebx, ebx
mov dword [esp + 0x1c], ebx
jmp 0x100c453c
mov dl, 1
call fcn.10028f90
mov ebx, eax
mov dword [esp + 0x1c], eax
test edi, edi
je 0x100c45ae
mov ecx, dword [edi]
mov edx, dword [edi + 0x28]
cmp byte [ecx + 0x53], 0
jne 0x100c4553
test edx, edx
jne 0x100c4553
xor eax, eax
jmp 0x100c455a
call fcn.10005460
mov ecx, dword [edi]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100c456e
push eax
call dword [0x1011d150]
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c4581
push eax
call dword [0x1011d148]
add esp, 4
mov eax, dword [edi + 0x80]
test eax, eax
je 0x100c459b
cmp si, word [edi + 0x98]
jae 0x100c459b
add eax, 0xa0
jmp 0x100c45b3
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov eax, 0x10114728
push eax
call sym.sqlite3.dll_sqlite3_value_blob
add esp, 4
mov esi, eax
mov dword [esp + 0x40], esi
test edi, edi
je 0x100c45f4
mov ecx, dword [edi]
mov edx, dword [edi + 0x28]
cmp byte [ecx + 0x53], 0
jne 0x100c45d9
test edx, edx
jne 0x100c45d9
xor eax, eax
jmp 0x100c45e0
call fcn.10005460
mov ecx, dword [edi]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100c45f4
push eax
call dword [0x1011d150]
add esp, 4
test esi, esi
jne 0x100c46bd
test edi, edi
je 0x100c46a7
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c4617
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x100c4634
jg 0x100c462b
cmp dword [edi + 0x90], 0
jbe 0x100c4634
mov edx, edi
mov ecx, esi
call fcn.1002f010
mov ecx, edi
call fcn.1002ccc0
mov dword [edi + 0x14], 0x2df20da3
mov dword [edi + 0x24], 0xffffffff
mov dword [edi + 0x28], 0
mov word [edi + 0x9a], 0xff02
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x20], 1
mov dword [edi + 0x38], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [esi + 0x53], 0
jne 0x100c468d
test eax, eax
je 0x100c4696
mov edx, eax
mov ecx, esi
call fcn.10005460
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c46a7
push eax
call dword [0x1011d150]
add esp, 4
test ebx, ebx
mov eax, 0x10b
mov ecx, 7
cmovne eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x30]
xor esi, esi
push esi
push eax
mov dword [esp + 0x1c], esi
lea edx, [esi + 0x22]
mov dword [esp + 0x38], esi
call fcn.100bbe20
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100c47d1
push dword [esp + 0x54]
mov esi, dword [esp + 0x34]
push dword [esp + 0x54]
push 1
push esi
call sym.sqlite3.dll_sqlite3_bind_int64
push esi
call sym.sqlite3.dll_sqlite3_step
xor ecx, ecx
add esp, 0x14
cmp eax, 0x64
mov eax, 1
cmove ecx, eax
mov dword [esp + 0x14], ecx
test esi, esi
je 0x100c47cd
mov ebx, dword [esi]
mov dword [esp + 0x3c], ebx
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100c4733
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [esi + 0x94], 0
jl 0x100c4750
jg 0x100c4747
cmp dword [esi + 0x90], 0
jbe 0x100c4750
mov edx, esi
mov ecx, ebx
call fcn.1002f010
mov ecx, esi
call fcn.1002ccc0
mov dword [esi + 0x14], 0x2df20da3
mov dword [esi + 0x24], 0xffffffff
mov dword [esi + 0x28], 0
mov word [esi + 0x9a], 0xff02
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x20], 1
mov dword [esi + 0x38], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
cmp byte [ebx + 0x53], 0
jne 0x100c47ad
test eax, eax
jne 0x100c47ad
xor ebx, ebx
jmp 0x100c47b8
mov edx, eax
mov ecx, ebx
call fcn.10005460
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c47cd
push eax
call dword [0x1011d150]
add esp, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x100c5000
test esi, esi
je 0x100c4cd2
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x38]
push ebx
push eax
push dword [esp + 0x2c]
lea edx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
push dword [esp + 0x34]
mov dword [esp + 0x48], ebx
call fcn.100bcfc0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x100c4c6e
mov ebx, dword [esp + 0x30]
xorps xmm0, xmm0
mov eax, dword [esp + 0x38]
mov ecx, ebx
movlpd qword [esp + 0x60], xmm0
movlpd qword [esp + 0x68], xmm0
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
test ebx, ebx
je 0x100c486d
cmp byte [ebx], 0
je 0x100c486d
lea ecx, [ebx + 1]
lea edx, [esp + 0x68]
call fcn.100aadc0
mov ecx, dword [esp + 0x58]
lea esi, [eax + 1]
jmp 0x100c4872
mov esi, 1
mov dword [esp + 0x60], esi
test ebx, ebx
je 0x100c4a1f
xor eax, eax
cmp dword [esp + 0x74], eax
sete al
xor edx, edx
mov dword [esp + 0x38], eax
xor ebx, ebx
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], ebx
je 0x100c48ba
test eax, eax
jne 0x100c48ba
add dword [esp + 0x68], 1
adc dword [esp + 0x6c], edx
cmp esi, dword [esp + 0x5c]
jl 0x100c48c9
mov dword [esp + 0x58], edx
jmp 0x100c4a11
test eax, eax
jne 0x100c48fc
mov al, byte [esi + ecx]
lea ebx, [esi + ecx]
test al, al
jns 0x100c48ee
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.100aaf60
mov ecx, dword [esp + 0x58]
mov edx, eax
mov eax, dword [esp + 0x24]
jmp 0x100c48f6
movzx eax, al
mov edx, 1
mov dword [esp + 0x28], eax
add esi, edx
mov al, byte [ecx + esi]
add ecx, esi
test al, al
jns 0x100c4914
lea edx, [esp + 0x10]
call fcn.100aaf60
mov ecx, dword [esp + 0x10]
jmp 0x100c491c
movzx ecx, al
mov eax, 1
mov edx, dword [esp + 0x28]
add esi, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x60], esi
cmp edx, dword [esp + 0x74]
jg 0x100c4a0c
mov eax, dword [esp + 0x5c]
sub eax, esi
cmp ecx, eax
jg 0x100c4a0c
test ecx, ecx
je 0x100c4a0c
lea eax, [ecx + edx]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x38], eax
push ecx
mov edx, eax
lea ecx, [esp + 0x74]
call fcn.100c32f0
mov ebx, dword [esp + 0x40]
add esp, 4
mov esi, dword [esp + 0x60]
test ebx, ebx
jne 0x100c4a11
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x100c4a11
push dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
add eax, esi
push eax
mov eax, dword [esp + 0x30]
add eax, ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x44]
add esp, 0xc
add esi, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
mov dword [esp + 0x60], esi
jne 0x100c4a11
mov ecx, dword [esp + 0x58]
mov al, byte [esi + ecx]
test al, al
jns 0x100c49de
add ecx, esi
lea edx, [esp + 0x80]
call fcn.100aaf60
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
jmp 0x100c49ed
movzx edx, al
mov eax, 1
mov dword [esp + 0x80], edx
add esi, eax
mov eax, dword [esp + 0x5c]
sub eax, esi
mov dword [esp + 0x60], esi
cmp eax, edx
jl 0x100c4a0c
lea eax, [esi + ecx]
add esi, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x60], esi
jmp 0x100c4a11
mov ebx, 0x10b
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x100c4bdc
jmp 0x100c4a25
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x58]
nop dword [eax]
test ecx, ecx
je 0x100c4bdc
xor edx, edx
cmp dword [esp + 0x74], edx
sete dl
xor eax, eax
mov dword [esp + 0x28], eax
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
je 0x100c4a6c
test edx, edx
jne 0x100c4a6c
add dword [esp + 0x68], 1
adc dword [esp + 0x6c], ebx
cmp esi, dword [esp + 0x5c]
jl 0x100c4a7d
xor ecx, ecx
mov dword [esp + 0x58], ecx
jmp 0x100c4bc5
test edx, edx
jne 0x100c4ab0
mov al, byte [esi + ecx]
lea ebx, [esi + ecx]
test al, al
jns 0x100c4aa2
lea edx, [esp + 0x3c]
mov ecx, ebx
call fcn.100aaf60
mov ecx, dword [esp + 0x58]
mov edx, eax
mov eax, dword [esp + 0x3c]
jmp 0x100c4aaa
movzx eax, al
mov edx, 1
mov dword [esp + 0x28], eax
add esi, edx
mov al, byte [ecx + esi]
add ecx, esi
test al, al
jns 0x100c4ac8
lea edx, [esp + 0x38]
call fcn.100aaf60
mov ecx, dword [esp + 0x38]
jmp 0x100c4ad0
movzx ecx, al
mov eax, 1
mov edx, dword [esp + 0x28]
add esi, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x60], esi
cmp edx, dword [esp + 0x74]
jg 0x100c4bd3
mov eax, dword [esp + 0x5c]
sub eax, esi
cmp ecx, eax
jg 0x100c4bd3
test ecx, ecx
je 0x100c4bd3
lea eax, [ecx + edx]
lea ecx, [esp + 0x10]
mov dword [esp + 0x3c], eax
push ecx
mov edx, eax
lea ecx, [esp + 0x74]
call fcn.100c32f0
mov ebx, dword [esp + 0x14]
add esp, 4
mov esi, dword [esp + 0x60]
test ebx, ebx
jne 0x100c4bc1
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x100c4bc1
push dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
add eax, esi
push eax
mov eax, dword [esp + 0x30]
add eax, ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x48]
add esp, 0xc
add esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
mov dword [esp + 0x60], esi
jne 0x100c4bc5
mov al, byte [esi + ecx]
test al, al
jns 0x100c4b8b
add ecx, esi
lea edx, [esp + 0x80]
call fcn.100aaf60
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
jmp 0x100c4b9a
movzx eax, al
mov dword [esp + 0x80], eax
mov eax, 1
lea edx, [eax + esi]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x80]
sub eax, edx
mov dword [esp + 0x60], edx
cmp eax, esi
jl 0x100c4bd3
lea eax, [edx + ecx]
add esi, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x60], esi
jmp 0x100c4bc5
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x100c4a30
jmp 0x100c4bdc
mov ebx, 0x10b
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x74]
cmp dword [ebp + 0x14], edx
cmovl edx, dword [ebp + 0x14]
test edx, edx
je 0x100c4c4a
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x100c4c4a
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x100c4c4a
sub edx, 4
jb 0x100c4c11
nop
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x100c4c16
add esi, 4
add ecx, 4
sub edx, 4
jae 0x100c4c00
cmp edx, 0xfffffffc
je 0x100c4c4a
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x100c4c43
cmp edx, 0xfffffffd
je 0x100c4c4a
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x100c4c43
cmp edx, 0xfffffffe
je 0x100c4c4a
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x100c4c43
cmp edx, 0xffffffff
je 0x100c4c4a
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je 0x100c4c4a
sbb esi, esi
or esi, 1
jmp 0x100c4c4c
xor esi, esi
lea ecx, [esp + 0x58]
call fcn.100c37e0
mov ecx, dword [ebp + 0x14]
sub ecx, dword [esp + 0x74]
test esi, esi
cmovne ecx, esi
xor eax, eax
test ecx, ecx
cmovg eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x30]
test esi, esi
je 0x100c4cce
cmp dword [0x1011d0f8], 0
je 0x100c4cc4
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100c4c92
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100c4cce
push eax
call dword [0x1011d150]
jmp 0x100c4ccb
push esi
call dword [0x1011d11c]
add esp, 4
mov esi, dword [esp + 0x14]
test ebx, ebx
jne 0x100c5000
test esi, esi
je 0x100c5000
mov eax, dword [esp + 0x40]
movsx ecx, byte [eax]
mov dword [esp + 0x24], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100c500d
mov esi, dword [esp + 0x50]
mov eax, esi
sub eax, dword [esp + 0x18]
mov ebx, dword [ebp + 0x18]
inc eax
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x18], edx
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [ebx + 0x24], edx
mov edx, dword [ebp + 8]
mov dword [ebx + 8], edx
mov edx, dword [ebp + 0xc]
mov dword [ebx + 0x20], esi
lea esi, [ecx + 1]
sar eax, 4
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [ebx], eax
mov dword [ebx + 0x10], edx
cmp esi, 0x10
jge 0x100c4d83
mov edi, ebx
mov eax, esi
shl eax, 5
lea ebx, [edi + 0x38]
add ebx, eax
mov eax, dword [edi]
lea ebx, [ebx + 0x20]
imul eax, esi
cdq
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
inc esi
mov dword [ebx - 0x20], eax
mov dword [ebx - 0x1c], edx
cmp esi, 0x10
jl 0x100c4d51
mov edx, dword [edi + 0x18]
mov eax, dword [edi]
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0x1c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], edx
imul eax, ecx
mov esi, ecx
shl esi, 5
cdq
lea ecx, [esi + 0x4c]
add eax, dword [esp + 0x18]
mov dword [esi + ebx + 0x38], eax
adc edx, dword [esp + 0x20]
add ecx, ebx
mov eax, dword [esp + 0x2c]
mov dword [esi + ebx + 0x3c], edx
lea edx, [esp + 0x10]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0xe8]
cmp edx, eax
cmovle edx, eax
add edx, 0x14
call fcn.100c32f0
mov ebx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
jne 0x100c4dff
push dword [esp + 0x1c]
mov eax, dword [ebp + 0x18]
push dword [esp + 0x44]
push dword [esi + eax + 0x4c]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp + 0x18]
xorps xmm0, xmm0
mov edx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esi + ecx + 0x4c]
mov dword [esi + ecx + 0x50], edx
movups xmmword [eax + edx], xmm0
mov dword [eax + edx + 0x10], ebx
jmp 0x100c4e02
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x24]
test eax, eax
js 0x100c5000
lea esi, [eax + 2]
shl esi, 5
add esi, ecx
test ebx, ebx
jne 0x100c5000
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x100c4fe3
xorps xmm0, xmm0
mov eax, dword [esi + 0x10]
movlpd qword [esp + 0x64], xmm0
movlpd qword [esp + 0x6c], xmm0
movlpd qword [esp + 0x74], xmm0
movlpd qword [esp + 0x7c], xmm0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
cmp byte [ecx], bl
je 0x100c4e6b
inc ecx
lea edx, [esp + 0x68]
call fcn.100aadc0
inc eax
mov dword [esp + 0x60], eax
jmp 0x100c4e73
mov dword [esp + 0x60], 1
lea ecx, [esp + 0x58]
call fcn.100c3680
cmp dword [esp + 0x58], 0
mov dword [esp + 0x10], eax
je 0x100c4e9f
test eax, eax
jne 0x100c4e9f
lea ecx, [esp + 0x58]
call fcn.100c3680
cmp dword [esp + 0x58], 0
mov dword [esp + 0x10], eax
jne 0x100c4e87
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.100c32f0
mov ebx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
jne 0x100c4fe3
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x100c4edc
push eax
push dword [esp + 0x74]
push dword [esi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp dword [esp + 0x24], 0
mov dword [esi + 4], eax
je 0x100c4fe3
mov eax, dword [esp + 0x6c]
lea edx, [esp + 0x28]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
push 0
push edx
push eax
mov dword [esi - 0x28], ecx
lea edx, [esp + 0x2c]
push ecx
mov ecx, ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esi - 0x24], eax
call fcn.100bcfc0
mov edx, dword [ebx + 0xe8]
lea ecx, [esp + 0x20]
cmp dword [esp + 0x38], edx
push ecx
cmovg edx, dword [esp + 0x3c]
lea ecx, [esi - 0x14]
add edx, 0x14
mov dword [esp + 0x24], eax
call fcn.100c32f0
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [esp + 0x20]
test ebx, ebx
jne 0x100c4f7f
push dword [esp + 0x28]
push eax
push dword [esi - 0x14]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
mov eax, dword [esi - 0x14]
add esp, 0xc
mov dword [esi - 0x10], ecx
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100c4fe3
cmp dword [0x1011d0f8], 0
je 0x100c4fd9
mov ecx, dword [0x1011f3e8]
test ecx, ecx
je 0x100c4fa4
push ecx
call dword [0x1011d148]
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push dword [esp + 0x20]
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100c4fe3
push eax
call dword [0x1011d150]
jmp 0x100c4fe0
push eax
call dword [0x1011d11c]
add esp, 4
lea ecx, [esp + 0x58]
call fcn.100c37e0
mov eax, dword [esp + 0x24]
sub esi, 0x20
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jns 0x100c4e16
test edi, edi
jne 0x100c50c4
jmp 0x100c516d
test edi, edi
je 0x100c50b8
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c5028
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x100c5045
jg 0x100c503c
cmp dword [edi + 0x90], 0
jbe 0x100c5045
mov edx, edi
mov ecx, esi
call fcn.1002f010
mov ecx, edi
call fcn.1002ccc0
mov dword [edi + 0x14], 0x2df20da3
mov dword [edi + 0x24], 0xffffffff
mov dword [edi + 0x28], 0
mov word [edi + 0x9a], 0xff02
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x20], 1
mov dword [edi + 0x38], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [esi + 0x53], 0
jne 0x100c509e
test eax, eax
je 0x100c50a7
mov edx, eax
mov ecx, esi
call fcn.10005460
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c50b8
push eax
call dword [0x1011d150]
add esp, 4
mov eax, 0x10b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c50d7
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x100c50f4
jg 0x100c50eb
cmp dword [edi + 0x90], 0
jbe 0x100c50f4
mov edx, edi
mov ecx, esi
call fcn.1002f010
mov ecx, edi
call fcn.1002ccc0
mov dword [edi + 0x14], 0x2df20da3
mov dword [edi + 0x24], 0xffffffff
mov dword [edi + 0x28], 0
mov word [edi + 0x9a], 0xff02
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x20], 1
mov dword [edi + 0x38], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [esi + 0x53], 0
jne 0x100c5151
test eax, eax
jne 0x100c5151
xor edi, edi
jmp 0x100c515c
mov edx, eax
mov ecx, esi
call fcn.10005460
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c516d
push eax
call dword [0x1011d150]
add esp, 4
test ebx, ebx
jne 0x100c5173
mov ebx, edi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x100c5189
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c519c
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x100c51b9
jg 0x100c51b0
cmp dword [edi + 0x90], 0
jbe 0x100c51b9
mov edx, edi
mov ecx, esi
call fcn.1002f010
mov ecx, edi
call fcn.1002ccc0
mov dword [edi + 0x14], 0x2df20da3
mov dword [edi + 0x24], 0xffffffff
mov dword [edi + 0x28], 0
mov word [edi + 0x9a], 0xff02
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x20], 1
mov dword [edi + 0x38], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [esi + 0x53], 0
jne 0x100c5216
test eax, eax
jne 0x100c5216
xor edi, edi
jmp 0x100c5221
mov edx, eax
mov ecx, esi
call fcn.10005460
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100c5232
push eax
call dword [0x1011d150]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret