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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
xor esi, esi
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], esi
cmp dword [edi + 0x110], esi
jne 0x1006d4e6
cmp dword [eax + 0x40], esi
jne 0x1006d4e6
mov ecx, dword [ebp + 0xc]
mov edx, 1
cmp byte [ecx + 0x2b], dl
je 0x1006d4e6
cmp dword [ebp + 0x10], 0xb
jne 0x1006d298
cmp word [ecx + 0x20], si
jl 0x1006d291
movzx ecx, byte [ecx + 0x2a]
mov dword [ebp + 0x10], ecx
cmp ecx, 0xb
jne 0x1006d298
mov dword [ebp + 0x10], 2
mov ecx, dword [eax + 0x20]
cmp dword [ecx], edx
jne 0x1006d4e6
cmp dword [ecx + 0x1c], esi
jne 0x1006d4e6
cmp dword [eax + 0x24], esi
jne 0x1006d4e6
cmp dword [eax + 0x30], esi
jne 0x1006d4e6
cmp dword [eax + 0x28], esi
jne 0x1006d4e6
cmp dword [eax + 0x3c], esi
jne 0x1006d4e6
cmp dword [eax + 0x34], esi
jne 0x1006d4e6
test byte [eax + 4], dl
jne 0x1006d4e6
mov eax, dword [eax + 0x1c]
cmp dword [eax], edx
jne 0x1006d4e6
mov edx, dword [eax + 8]
cmp byte [edx], 0xb4
jne 0x1006d4e6
lea ebx, [ecx + 8]
push esi
call fcn.10057b40
mov esi, eax
add esp, 4
mov dword [esp + 0x2c], esi
test esi, esi
je 0x1006d4e6
mov eax, dword [esi + 0x14]
mov edi, dword [ebp + 0xc]
cmp eax, dword [edi + 0x14]
jne 0x1006d32a
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [edi + 0x3c]
je 0x1006d4e6
mov ecx, dword [esi + 0x1c]
mov eax, dword [edi + 0x1c]
mov edx, eax
shr edx, 7
mov ebx, ecx
shr ebx, 7
not edx
not ebx
xor edx, ebx
test dl, 1
jne 0x1006d4e6
cmp byte [esi + 0x2b], 0
jne 0x1006d4e6
movzx edx, word [edi + 0x22]
cmp dx, word [esi + 0x22]
jne 0x1006d4e6
mov bx, word [edi + 0x20]
cmp bx, word [esi + 0x20]
jne 0x1006d4e6
test eax, 0x10000
je 0x1006d382
test ecx, 0x10000
je 0x1006d4e6
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x28], eax
cmp cx, dx
jge 0x1006d4ba
mov dword [esp + 0x24], eax
jmp 0x1006d3a0
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
mov edi, dword [edx + 4]
mov ebx, dword [esi + 4]
mov cx, word [ebx + eax + 0xe]
add ebx, eax
add edi, eax
mov ax, word [edi + 0xe]
and ax, 0x60
and cx, 0x60
cmp ax, cx
jne 0x1006d4e6
test ax, ax
je 0x1006d3f8
push 0xffffffffffffffff
mov ecx, edi
mov eax, edx
call fcn.10058370
push eax
mov ecx, ebx
mov eax, esi
call fcn.10058370
push eax
push 0
call fcn.1004f120
add esp, 0x10
test eax, eax
jne 0x1006d4e6
mov dl, byte [edi + 8]
cmp dl, byte [ebx + 8]
jne 0x1006d4e6
mov eax, ebx
call fcn.10058460
push eax
mov eax, edi
call fcn.10058460
push eax
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1006d4e6
test byte [edi + 4], 0xf
je 0x1006d434
test byte [ebx + 4], 0xf
je 0x1006d4e6
test byte [edi + 0xe], 0x60
jne 0x1006d49b
cmp dword [esp + 0x28], 0
jle 0x1006d49b
mov eax, dword [ebp + 0xc]
mov ecx, edi
call fcn.10058370
mov edi, eax
mov ecx, ebx
mov eax, esi
call fcn.10058370
xor ecx, ecx
test eax, eax
sete cl
xor edx, edx
test edi, edi
sete dl
cmp edx, ecx
jne 0x1006d4e6
test edi, edi
je 0x1006d49b
mov ecx, dword [eax + 8]
mov eax, dword [edi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006d492
test dl, dl
je 0x1006d48e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006d492
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006d472
xor eax, eax
jmp 0x1006d497
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1006d4e6
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
movsx edx, word [ecx + 0x22]
add dword [esp + 0x24], 0x10
inc eax
mov dword [esp + 0x28], eax
cmp eax, edx
jl 0x1006d3a0
mov edi, ecx
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1006d524
cmp byte [ebx + 0x36], 0
je 0x1006d4cf
mov dword [esp + 0x34], 1
mov edi, dword [esi + 8]
test edi, edi
je 0x1006d4e6
call fcn.1006d150
test eax, eax
jne 0x1006d4ef
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x1006d4d6
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x1006d4e6
mov eax, dword [edi + 0x2c]
cmp eax, dword [ebx + 0x2c]
jne 0x1006d51d
mov ecx, dword [esi + 0x3c]
mov edx, dword [ebp + 0xc]
cmp ecx, dword [edx + 0x3c]
jne 0x1006d51d
mov eax, dword [0x1012c4e8]
test eax, eax
je 0x1006d4e6
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x1006d4e6
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x1006d4c1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1006d53f
mov ebx, dword [esi + 0x10]
push 0xffffffffffffffff
call fcn.1004f3e0
add esp, 4
test eax, eax
jne 0x1006d4e6
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x1006d55d
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x30], 0
jne 0x1006d4e6
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x1006d4e6
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov edx, dword [eax + 0x3c]
call fcn.100743e0
mov ebx, dword [ebp + 8]
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x30], esi
call fcn.10078830
mov edi, eax
mov ecx, esi
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.1005f440
mov esi, dword [ebx + 0x28]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ecx
lea eax, [esi + 1]
mov dword [esp + 0x18], eax
push edx
inc eax
push ebx
mov dword [esp + 0x2c], esi
mov dword [ebx + 0x28], eax
call fcn.10068fb0
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x3c], eax
call fcn.10050240
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006d5e4
mov eax, dword [esp + 0x24]
push 0
push eax
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d60e
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x4b
mov ecx, ebx
call fcn.10050240
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
push 0x71
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.10068840
mov edx, dword [esp + 0x28]
add esp, 0xc
test byte [edx + 0x18], 4
jne 0x1006d6d3
mov eax, dword [ebp + 0xc]
xor edx, edx
cmp word [eax + 0x20], dx
jge 0x1006d64f
cmp dword [eax + 8], edx
jne 0x1006d664
cmp dword [esp + 0x34], edx
jne 0x1006d664
mov eax, dword [ebp + 0x10]
cmp eax, 2
je 0x1006d6d3
cmp eax, 1
je 0x1006d6d3
xor edx, edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006d687
mov eax, dword [esp + 0x14]
push 0
push 0
push eax
push 0x24
mov eax, edi
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x34], eax
jmp 0x1006d6b5
mov ebx, dword [edi + 0x68]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4]
xor ebx, ebx
mov word [eax + 2], bx
mov ebx, dword [esp + 0x14]
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x24
mov dword [esp + 0x34], ecx
mov ebx, 9
mov ecx, edi
call fcn.1002f7d0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, edi
call fcn.10030370
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x1c], 0x80
jne 0x1006da46
mov edx, dword [esp + 0x30]
push 0x70
push edx
mov eax, ecx
push esi
mov ecx, ebx
call fcn.10068840
mov ecx, dword [edi + 0x6c]
add esp, 0xc
cmp dword [edi + 0x70], ecx
jg 0x1006d710
xor ebx, ebx
push ebx
push ebx
push esi
push 0x24
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d73a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x24
mov eax, ecx
xor ebx, ebx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xc]
cmp word [eax + 0x20], bx
jl 0x1006d7f0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006d76b
mov eax, dword [esp + 0x18]
push ebx
push eax
push esi
push 0x87
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d797
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x18]
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x87
mov eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
jne 0x1006d7d5
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push 0
push edx
push 0x1f
push edi
call fcn.1002f870
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov esi, eax
mov eax, dword [ebp + 0xc]
add esp, 0x14
call fcn.1005f800
mov edx, esi
mov eax, edi
call fcn.10030370
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + 8]
call fcn.10069160
mov esi, dword [esp + 0x20]
xor ebx, ebx
jmp 0x1006d893
cmp dword [eax + 8], ebx
jne 0x1006d843
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 8
jne 0x1006d843
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006d820
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ebx
push ecx
push edx
push 0x7f
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d88f
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov word [eax], 0x7f
jmp 0x1006d880
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006d863
mov eax, dword [esp + 0x18]
push ebx
push eax
push esi
push 0x87
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d88f
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], esi
mov word [eax], 0x87
mov edx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x1006d8ba
mov esi, dword [esp + 0x14]
mov ebx, 0x89
mov ecx, edi
call fcn.1002f820
mov esi, dword [esp + 0x20]
mov byte [esp + 0x13], 0x98
xor ebx, ebx
jmp 0x1006d8bf
mov byte [esp + 0x13], 0xa9
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0x18], 4
jne 0x1006d8e6
mov edx, dword [esp + 0x24]
push 1
push edx
push esi
push 0x86
push edi
call fcn.1002f870
add esp, 0x14
and byte [esp + 0x13], 0x7f
jmp 0x1006d8ff
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push esi
push ecx
push 0x81
push edi
call fcn.1002f870
add esp, 0x14
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push pe_nt_image_headers32
push edi
call fcn.1002f870
mov edx, dword [esp + 0x30]
add esp, 0x14
test byte [edx + 0x18], 4
jne 0x1006d96f
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1006d93d
mov eax, dword [ebp + 0xc]
mov edx, 0xfffffffb
call fcn.100304a0
jmp 0x1006d96f
mov eax, dword [edi + 0x6c]
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4 - 5]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x1006d965
mov edx, dword [ebp + 0xc]
push edx
push edi
mov eax, 0xfffffffb
call fcn.100305a0
add esp, 8
jmp 0x1006d96f
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfb
mov eax, dword [edi + 0x6c]
cmp eax, ebx
jle 0x1006d986
movzx ecx, byte [esp + 0x13]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov word [eax + edx*4 - 0x12], cx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006d9a3
mov ecx, dword [esp + 0x28]
push ebx
push ecx
push esi
push 0x27
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006d9c8
mov ecx, dword [edi + 0x68]
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x27
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006d9e1
push ebx
push ebx
push esi
push 0x7a
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006da02
mov ecx, dword [edi + 0x68]
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x7a
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006da1f
mov eax, dword [esp + 0x14]
push ebx
push ebx
push eax
push 0x7a
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006da7c
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x7a
jmp 0x1006da7c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, dword [ebp + 0x14]
push 1
push edx
mov eax, ebx
call fcn.10056fe0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 0x14]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x34]
push 0
push edx
mov eax, ebx
call fcn.10056fe0
add esp, 0xc
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x1006ddd8
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 8]
mov byte [esp + 0x13], 0
test esi, esi
je 0x1006daba
mov edi, edi
mov ebx, dword [esp + 0x28]
mov edi, esi
call fcn.1006d150
test eax, eax
jne 0x1006dab6
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x1006daa0
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 0x2c]
mov ebx, dword [esp + 0x20]
push edx
push eax
push ebx
push 0x70
push edi
call fcn.1002f870
mov eax, dword [ebp + 8]
add esp, 0x14
mov ecx, esi
call fcn.10030740
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
push 0x71
push edi
call fcn.1002f870
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 8]
add esp, 0x14
call fcn.10030740
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1006db1c
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov ecx, 1
mov word [eax + edx*4 - 0x12], cx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1006db3b
push 0
push 0
push ebx
push 0x24
mov eax, edi
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x34], eax
jmp 0x1006db65
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x24
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x1006dc17
movzx eax, word [esi + 0x34]
xor ebx, ebx
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x1006dba2
mov esi, dword [esi + 0x20]
mov ecx, dword [esi]
push ecx
push 0x10113024
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1006dba2
inc ebx
add esi, 4
cmp ebx, dword [esp + 0x3c]
jl 0x1006db84
cmp ebx, dword [esp + 0x3c]
jne 0x1006dc37
mov esi, dword [esp + 0x14]
mov ebx, 0x89
mov ecx, edi
mov byte [esp + 0x13], 0x90
call fcn.1002f820
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006dbe7
mov edx, dword [esp + 0x20]
push 0
push edx
mov eax, esi
push eax
push 0x81
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006dc89
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
xor ecx, ecx
mov edx, esi
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x81
jmp 0x1006dc89
mov edx, dword [esp + 0x2c]
test byte [edx + 0x1c], 0x80
je 0x1006dc3b
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x38]
and cl, 3
cmp cl, 2
jne 0x1006dc3b
mov byte [esp + 0x13], 1
jmp 0x1006dc3b
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
push 1
push esi
push ebx
push 0x86
push edi
call fcn.1002f870
mov edx, dword [esp + 0x30]
add esp, 0x14
test byte [edx + 0x18], 4
jne 0x1006dc8d
mov eax, dword [ebp + 0xc]
test byte [eax + 0x1c], 0x80
je 0x1006dc8d
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x38]
and dl, 3
cmp dl, 2
jne 0x1006dc8d
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
push esi
push ecx
push eax
call fcn.1006cbc0
mov edi, dword [esp + 0x4c]
add esp, 0xc
mov ebx, dword [esp + 0x20]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006dcb3
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
xor esi, esi
push esi
push edx
push eax
push 0x8a
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006dce3
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x24]
xor esi, esi
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov word [eax], 0x8a
mov eax, dword [edi + 0x6c]
cmp eax, esi
jle 0x1006dcff
mov cl, byte [esp + 0x13]
or cl, 8
movzx edx, cl
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], dx
mov ecx, dword [esp + 0x34]
mov eax, dword [edi + 0x6c]
inc ecx
cmp dword [edi + 0x70], eax
jg 0x1006dd1d
push esi
push ecx
push ebx
push 0x27
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006dd3e
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov dword [eax], 0x27
mov edx, dword [esp + 0x34]
mov eax, edi
call fcn.10030370
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006dd62
push esi
push esi
push ebx
push 0x7a
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006dd83
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov dword [eax], 0x7a
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006dda0
mov edx, dword [esp + 0x14]
push esi
push esi
push edx
push 0x7a
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006ddc5
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov dword [eax], 0x7a
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
cmp eax, esi
jne 0x1006da8e
mov edx, dword [esp + 0x44]
xor ebx, ebx
cmp edx, ebx
je 0x1006dde9
mov eax, edi
call fcn.10030370
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 8]
call fcn.10050260
mov edx, dword [esp + 0x24]
call fcn.10050260
cmp dword [esp + 0x38], ebx
je 0x1006deab
cmp dword [eax + 0x78], ebx
je 0x1006de14
mov esi, eax
call fcn.100691c0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006de2d
push ebx
push ebx
push ebx
push 0x46
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006de4e
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x46
mov edx, dword [esp + 0x38]
mov eax, edi
call fcn.10030370
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006de7d
mov edx, dword [esp + 0x14]
push ebx
push ebx
push edx
push 0x7a
mov eax, edi
call fcn.1002f760
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x7a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret