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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov esi, edx
mov eax, dword [ebp + 0x10]
lea edi, [eax + 9]
mov eax, dword [ecx + 0x2c]
cmp eax, edi
mov edx, edi
mov dword [ebp - 0x4c], edi
cmovle eax, edi
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov ebx, dword [ecx + 8]
mov dword [ebp - 0x1c], ecx
mov dword [ecx + 0x2c], eax
test ebx, ebx
mov dword [ebp - 0x2c], esi
je 0x1006257f
test esi, esi
je 0x10062380
test ebx, ebx
je 0x10062380
cmp byte [esi + 0x2b], 0
jne 0x10062380
mov edi, dword [esi]
test edi, edi
je 0x100617c5
mov ecx, str.sqlite__
mov edx, edi
push 0x5c
push 0x101af956
call fcn.10062760
add esp, 8
test eax, eax
je 0x10062380
mov dword [ebp - 0x10], edi
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
test ecx, ecx
je 0x1006259e
lea edx, [eax + 0xc]
xor edi, edi
dec edi
inc edi
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x100617df
mov dword [ebp - 0x40], edi
shl edi, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x164]
test ecx, ecx
mov dword [ebp - 0x18], ebx
jne 0x100625a8
cmp dword [ebp - 0x40], 1
mov esi, dword [ebp - 0x1c]
je 0x10061821
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
cmp byte [eax + 9], 0
jne 0x100625bd
mov edx, dword [ebp + 0x14]
lea eax, [edx + 2]
mov ecx, dword [esi + 0x28]
cmp ecx, eax
cmovg eax, ecx
mov dword [esi + 0x28], eax
mov edi, dword [ebp + 0x10]
lea eax, [edi + 6]
mov dword [ebp - 0x50], eax
mov ecx, esi
push 0x70
mov esi, dword [ebp - 0x2c]
push esi
push dword [ebp - 0x40]
call fcn.10040c10
add esp, 0xc
mov eax, dword [esi]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
mov esi, dword [ebp - 0x50]
jle 0x100623a0
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x75
xor edi, edi
mov dword [ecx + edx*4 + 4], edi
mov dword [ecx + edx*4 + 8], esi
mov dword [ecx + edx*4 + 0xc], edi
mov dword [ecx + edx*4 + 0x10], edi
mov edi, dword [ebp + 0x10]
lea ecx, [ebx + 0x6c]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x100618b8
test eax, eax
js 0x10062388
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ebx + 0x68]
mov ecx, ebx
push 0
push dword [ebp - 0x10]
call fcn.10035ca0
add esp, 8
mov edx, dword [ebp + 8]
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
lea eax, [edi + 7]
mov dword [ebp - 0x58], eax
lea eax, [edi + 8]
mov dword [ebp - 0x70], eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi + 8]
test eax, eax
je 0x1006236d
mov ecx, eax
lea eax, [edi + 1]
mov dword [ebp - 0x60], eax
lea eax, [edi + 2]
mov dword [ebp - 0x3c], eax
lea eax, [edi + 3]
mov dword [ebp - 0x6c], eax
lea eax, [edi + 5]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x14]
inc eax
mov dword [ebp - 0x20], eax
lea eax, [ebx + 0x68]
mov dword [ebp - 0x10], eax
mov al, 1
mov dword [ebp - 0x54], eax
mov edi, ecx
test edx, edx
je 0x10061915
cmp edi, edx
jne 0x10062110
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x38]
test ecx, ecx
mov edx, dword [ebp - 0x54]
movzx edx, dl
cmove edx, ecx
mov dword [ebp - 0x54], edx
test byte [esi + 0x1c], 0x80
jne 0x100623f2
movzx ecx, word [edi + 0x34]
mov ebx, dword [edi]
test al, 8
mov dword [ebp - 0x34], ecx
jne 0x1006219d
mov eax, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x100621c5
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x75
xor esi, esi
mov dword [ecx + edx*4 + 4], esi
mov edi, dword [ebp - 0x58]
mov dword [ecx + edx*4 + 8], edi
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], esi
mov ecx, dword [ebp - 0x28]
dec ecx
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x100619ba
test eax, eax
js 0x1006218a
lea edx, [eax + eax*4]
shl edx, 2
mov edi, dword [ebp - 0x18]
add edx, dword [edi + 0x68]
mov ecx, edi
push 0
push ebx
call fcn.10035ca0
add esp, 8
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x30]
add ecx, esi
cmp eax, ecx
cmovg ecx, eax
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x100621e1
lea edx, [ecx + 1]
mov edi, dword [ebp - 0x14]
mov dword [edi], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x70
mov edi, dword [ebp - 0x20]
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0x40]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ecx + 8]
mov edx, dword [ebp - 0x38]
call fcn.10040940
test eax, eax
je 0x10061a46
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x10062411
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x6c]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4 - 0x13], 0xf8
mov dword [ecx + edx*4 - 4], eax
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100621fc
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x47
mov edx, dword [ebp - 0x34]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x3c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0x38]
movzx eax, word [eax + 0x32]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x10062218
lea edx, [ecx + 1]
mov esi, edi
mov edi, dword [ebp - 0x14]
mov dword [edi], edx
mov edi, esi
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x47
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0x6c]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x10062232
lea eax, [ecx + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov edx, ecx
mov dword [ebp - 0x74], ecx
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov edx, dword [ebp - 0x20]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10062250
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x62
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], 1
mov dword [ecx + eax*4 + 0x10], 0
mov esi, edi
mov eax, dword [edi + 0x1e8]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x1006226c
lea edx, [ecx + 1]
mov edi, dword [ebp - 0x14]
mov dword [edi], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x47
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0x68]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0
push 0x101b48a4
push 4
push dword [ebp - 0x60]
mov edi, dword [ebp - 0x3c]
push edi
call fcn.10036050
add esp, 0x14
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10062286
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x47
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov edi, esi
cmp dword [ebp - 0x28], 2
jb 0x10062435
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + 0x38]
lea eax, [esi - 1]
mov dword [ebp - 0x5c], eax
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x30]
lea edx, [eax*4]
movzx eax, word [edi + 0x12c]
cmp edx, eax
ja 0x10061c27
cmp dword [ebp - 0x28], 0x21
ja 0x10061c4d
mov eax, dword [edi + 0x150]
test eax, eax
je 0x10061c3f
mov ecx, dword [eax]
mov dword [edi + 0x150], ecx
inc dword [edi + 0x138]
jmp 0x10061c83
cmp dword [edi + 0x128], 0
je 0x100623c6
cmp byte [edi + 0x57], 0
je 0x10061c6f
jmp 0x10062534
mov eax, dword [edi + 0x14c]
test eax, eax
jne 0x10062393
mov eax, dword [edi + 0x148]
test eax, eax
jne 0x10062360
mov eax, dword [edi + 0x144]
test eax, eax
jne 0x100623b9
inc dword [edi + 0x140]
mov ecx, edi
push 0
call fcn.10137840
add esp, 4
test eax, eax
je 0x10062534
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
mov edi, dword [ebp - 0x38]
jle 0x100622ee
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4], 9
xorps xmm0, xmm0
movups xmmword [ecx + eax*4 + 1], xmm0
mov dword [ecx + eax*4 + 0x10], 0
mov dword [ebp - 0x78], esi
mov eax, dword [edx]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x30], 1
jne 0x10061cd8
cmp word [edi + 0x32], 1
jne 0x10061cd8
cmp byte [edi + 0x36], 0
jne 0x100621a9
xor esi, esi
mov eax, dword [edi + 0x20]
mov edi, dword [eax + esi*4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov al, byte [ecx + 0x54]
movzx ebx, byte [ecx + 0xb1]
movzx edx, al
mov dword [ebp - 0x64], edx
push ebx
mov dword [ebp - 0x34], edi
push edi
call fcn.10064470
add esp, 8
test ebx, ebx
jne 0x10061d18
test eax, eax
je 0x100623d1
cmp dword [eax + 0xc], 0
je 0x100623d1
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10062120
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x47
mov dword [ecx + eax*4 + 4], esi
mov edx, dword [ebp - 0x3c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x1006213a
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x5e
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [ebp - 0x4c]
add eax, esi
mov edi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edi
jle 0x10062155
lea ecx, [edi + 1]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4], 0x34
mov eax, ebx
mov ebx, dword [ebp - 0x24]
mov dword [ecx + edx*4 + 4], ebx
xor ebx, ebx
mov dword [ecx + edx*4 + 8], ebx
mov ebx, dword [ebp - 0x64]
mov dword [ecx + edx*4 + 0xc], ebx
xor ebx, ebx
mov dword [ecx + edx*4 + 0x10], ebx
mov ebx, eax
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
mov edx, dword [ebp - 0x34]
jne 0x10061e07
mov ecx, edi
test edi, edi
js 0x10061e48
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 + 1], 0
jne 0x10061e34
test edx, edx
je 0x10061e07
lea eax, [eax + ecx*4]
inc eax
mov dword [eax + 0xf], edx
mov byte [eax], 0xfe
mov eax, dword [ebp - 0x28]
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
test eax, eax
jle 0x10061e25
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x80
inc esi
cmp dword [ebp - 0x30], esi
mov edi, dword [ebp - 0x38]
jne 0x10061cda
jmp 0x10061e50
lea edx, [eax + ecx*4]
mov ecx, ebx
push 0xfffffffffffffffe
push dword [ebp - 0x34]
call fcn.10035ca0
add esp, 8
jmp 0x10061e07
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
dec ecx
jmp 0x10061dea
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x1006230a
lea ecx, [eax + 1]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x47
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x3c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10062326
lea ecx, [eax + 1]
mov edi, dword [ebp - 0x14]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov esi, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x10062446
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], eax
xor esi, esi
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x100623e8
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + esi*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x10]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x4c]
add eax, esi
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x10062171
lea edx, [ecx + 1]
mov dword [edi], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x5e
mov edi, dword [ebp - 0x20]
mov dword [edx + ecx*4 + 4], edi
mov edi, dword [ebp - 0x14]
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
inc esi
cmp dword [ebp - 0x30], esi
jne 0x10061ee8
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x78]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10062450
mov eax, dword [edi]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov esi, dword [ebp - 0x44]
mov ecx, esi
mov edx, dword [ebp - 0x28]
call fcn.1014d210
mov ecx, dword [ebp - 0x1c]
xor edx, edx
inc edx
push 0
push 0x101b48cc
push 2
push dword [ebp - 0x24]
push dword [ebp - 0x60]
call fcn.10036050
add esp, 0x14
cmp dword [esi + 0x1e8], 0
jne 0x10062460
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
mov esi, dword [ebp - 0x50]
jle 0x10062344
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x27
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x48]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0
push 0x101b48f4
push 1
push dword [ebp - 0x70]
push dword [ebp - 0x60]
call fcn.10036050
add esp, 0x14
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x1006229f
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x61
mov dword [ecx + edx*4 + 4], esi
mov dword [ecx + edx*4 + 8], 3
mov esi, dword [ebp - 0x24]
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov esi, dword [ebp + 0x10]
jne 0x10062062
test eax, eax
js 0x10062195
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ebx + 0x68]
mov ecx, ebx
push 0
push 0x101d67aa
call fcn.10035ca0
add esp, 8
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100622b9
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7f
mov edx, dword [ebp + 0xc]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100622d3
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x80
mov edx, dword [ebp + 0xc]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [edi]
test eax, eax
mov edx, dword [ebp + 8]
mov esi, edi
mov edi, dword [ebp - 0x38]
jle 0x100620f0
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 8
mov eax, dword [esi]
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x1006252a
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov esi, dword [ebp - 0x10]
add ecx, dword [esi]
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x10061909
jmp 0x10062372
mov ecx, ebx
mov edx, 0x47
push 0
push dword [ebp - 0x3c]
push esi
call fcn.10016c40
add esp, 0xc
jmp 0x10061d56
mov ecx, ebx
mov edx, 0x5e
push dword [ebp - 0x24]
push esi
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
jmp 0x10061d90
mov ecx, ebx
mov edx, 0x34
push eax
push 0
push dword [ebp - 0x24]
call fcn.10016c40
add esp, 0xc
mov edi, eax
jmp 0x10061dd9
mov ecx, ebx
mov edx, 0x5e
push eax
push esi
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
jmp 0x10061f4a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
dec eax
jmp 0x100619a1
mov eax, dword [edi]
dec eax
jmp 0x10062048
movzx eax, word [edi + 0x32]
mov dword [ebp - 0x28], eax
jmp 0x10061949
mov ecx, ebx
mov edx, 0x33
push 0
push dword [ebp - 0x5c]
push dword [ebp - 0x4c]
call fcn.1002fb80
add esp, 0xc
jmp 0x10061cd8
mov ecx, dword [ebp - 0x18]
mov edx, 0x75
xor eax, eax
push eax
push dword [ebp - 0x58]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10061987
mov ecx, edi
mov edx, 0x70
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
jmp 0x10061a13
mov ecx, ebx
mov edx, 0x47
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
call fcn.10016c40
add esp, 0xc
jmp 0x10061a84
mov ecx, ebx
mov edx, 0x47
push 0
push dword [ebp - 0x6c]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10061ac7
mov ecx, ebx
mov edx, 0x24
xor eax, eax
push eax
push eax
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
mov dword [ebp - 0x74], eax
jmp 0x10061b04
mov ecx, ebx
mov edx, 0x62
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
jmp 0x10061b45
mov ecx, ebx
mov edx, 0x47
push 0
push dword [ebp - 0x68]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10061b85
mov ecx, ebx
mov edx, 0x47
xor eax, eax
push eax
push edi
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10061bd7
mov ecx, ebx
mov edx, 0x61
push dword [ebp - 0x24]
push 3
push esi
call fcn.10016c40
add esp, 0xc
jmp 0x10062035
mov ecx, ebx
mov edx, 0x7f
push 0
push esi
push dword [ebp + 0xc]
call fcn.10016c40
add esp, 0xc
jmp 0x10062097
mov ecx, ebx
mov edx, 0x80
push esi
push dword [ebp - 0x24]
push dword [ebp + 0xc]
call fcn.10016c40
add esp, 0xc
jmp 0x100620d1
mov ecx, ebx
mov edx, 9
xor eax, eax
push eax
push eax
push eax
call fcn.10016c40
add esp, 0xc
mov edx, dword [ebp - 0x14]
jmp 0x10061cb9
mov ecx, ebx
mov edx, 0x47
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x30]
call fcn.10016c40
add esp, 0xc
jmp 0x10061e8b
mov ecx, ebx
mov edx, 9
xor eax, eax
push eax
push dword [ebp - 0x5c]
push eax
call fcn.10016c40
add esp, 0xc
mov edi, dword [ebp - 0x14]
jmp 0x10061ec3
mov ecx, ebx
mov edx, 0x27
push 0
push dword [ebp - 0x48]
push dword [ebp - 0x20]
call fcn.10016c40
add esp, 0xc
jmp 0x10061fde
mov ecx, dword [eax]
mov dword [edi + 0x148], ecx
jmp 0x10061c1f
mov al, 1
mov dword [ebp - 0x54], eax
test edx, edx
jne 0x10062380
cmp byte [ebp - 0x54], 0
jne 0x100625da
add esp, 0x6c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
dec eax
jmp 0x100618a0
mov ecx, dword [eax]
mov dword [edi + 0x14c], ecx
jmp 0x10061c1f
xor eax, eax
mov ecx, ebx
mov edx, 0x75
push eax
push esi
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1006188a
mov ecx, dword [eax]
mov dword [edi + 0x144], ecx
jmp 0x10061c1f
inc dword [edi + 0x13c]
jmp 0x10061c6f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x64]
push dword [ebp - 0x34]
push eax
call fcn.1005c450
add esp, 8
jmp 0x10061d18
mov ecx, 0x101f2320
jmp 0x10061f08
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x10061933
movzx ecx, word [edi + 0x32]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax]
mov dword [ebp - 0x34], ecx
jmp 0x10061944
cmp dword [ecx + 0x208], 0
jne 0x10061a46
dec dword [eax]
jne 0x10061a46
mov ecx, dword [eax + 0xc]
mov edx, eax
call fcn.1014c8d0
jmp 0x10061a46
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
mov esi, edi
mov edi, eax
jmp 0x10061f79
mov ecx, 0x101f2320
jmp 0x10061ee3
mov edx, ebx
push esi
call fcn.10032440
add esp, 4
jmp 0x10061f6c
xor esi, esi
mov ecx, ebx
mov edx, 0x32
push esi
push esi
mov edi, dword [ebp - 0x24]
push edi
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0x28], eax
mov ecx, ebx
mov edx, 0x10
push esi
push esi
push edi
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0x30], eax
mov ecx, ebx
mov edx, 0x18
push dword [ebp - 0x4c]
push esi
push dword [ebp - 0x20]
call fcn.1002fb80
add esp, 0xc
mov esi, eax
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x10062542
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, 0x101f2320
mov dword [ecx + 8], eax
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov edx, 0x27
push 0
push dword [ebp - 0x48]
push dword [ebp - 0x20]
call fcn.1002fb80
add esp, 0xc
mov edx, dword [edi]
mov ecx, dword [edi + 0x6c]
mov eax, 0x101f2320
cmp byte [edx + 0x57], 0
mov edx, 0x101f2320
jne 0x100624fd
mov edx, dword [ebp - 0x30]
lea edx, [edx + edx*4]
shl edx, 2
mov edi, dword [ebp - 0x10]
add edx, dword [edi]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x6c]
cmp byte [edx + 0x57], 0
jne 0x10062519
lea eax, [esi + esi*4]
shl eax, 2
mov edx, dword [ebp - 0x10]
add eax, dword [edx]
mov dword [eax + 8], ecx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x14]
jmp 0x10061fde
mov ecx, 0x101f2320
jmp 0x1006210a
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x38]
jmp 0x10062110
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 1
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x100624bd
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x10]
add ecx, dword [edx]
jmp 0x100624bd
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x78], 0
je 0x100626b3
mov ecx, dword [ebp - 0x1c]
call fcn.1002f500
mov ebx, eax
mov esi, dword [ebp - 0x2c]
jmp 0x10061787
mov edi, 0xffff8000
jmp 0x100617e9
cmp byte [edx + 0xb1], 0
je 0x100626cc
mov ebx, dword [ebp - 0x18]
jmp 0x10061805
mov ecx, esi
mov edx, dword [ebp - 0x40]
push dword [ebp - 0x10]
push 0
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x14]
call fcn.10046570
add esp, 0xc
jmp 0x10061821
xor esi, esi
mov ecx, ebx
mov edx, 0x62
push esi
mov edi, dword [ebp - 0x70]
push edi
push dword [ebp + 0x14]
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x11
push esi
push esi
push edi
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0x10], eax
mov ecx, ebx
mov edx, 0x4b
push esi
push dword [ebp - 0x58]
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x61
mov edi, dword [ebp - 0x24]
push edi
push 3
push dword [ebp - 0x50]
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push esi
push 0x101d67aa
call fcn.1003a120
add esp, 8
mov ecx, ebx
mov edx, 0x7f
push esi
mov esi, dword [ebp + 0x10]
push esi
mov eax, dword [ebp + 0xc]
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x80
push esi
push edi
push dword [ebp + 0xc]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x1006268c
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 8
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x100626ab
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x18]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x10062380
mov eax, dword [ebp - 0x44]
test byte [eax + 0x50], 8
jne 0x1006258c
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x17], 1
jmp 0x1006258c
mov esi, dword [ebp - 0x1c]
cmp byte [esi + 0xd8], 0
jne 0x100625b5
mov eax, dword [eax + edi]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x100]
mov esi, dword [edx + 0x168]
call dword [section..00cfg]
push ebx
push dword [ebp - 0x14]
push 0
push dword [ebp - 0x10]
push 0x1c
push esi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1006272c
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [ebp - 0x1c]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x10062380
test eax, 0xfffffffd
je 0x1006273d
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x10062717
test eax, eax
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
jne 0x10062380
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
jmp 0x10061805