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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x1012b470]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x18]
push esi
push edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x6c], ecx
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
xor eax, eax
cmp byte [ecx + 3], 0x34
mov dword [esp + 0x54], edi
sete al
mov dword [esp + 0x84], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100ab4a4
sub eax, ecx
inc eax
mov dword [esp + 0x40], eax
mov eax, dword [edi + 8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab4b8
mov esi, dword [ebp + 0x10]
sub eax, edx
inc eax
mov dword [esp + 0x5c], eax
lea esi, [esi*4 - 8]
call sym.MyService.dll_sqlite3_initialize
test eax, eax
je 0x100ab4e1
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x100ab4f9
mov edx, esi
or edx, ebx
je 0x100ab4f3
push ebx
push esi
call fcn.1000a580
add esp, 8
jmp 0x100ab4f5
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ab51e
mov eax, dword [esp + 0x48]
push esi
push 0
push eax
call fcn.100ff5c0
add esp, 0xc
call sym.MyService.dll_sqlite3_initialize
test eax, eax
je 0x100ab52b
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc], 7
jmp 0x100ac169
mov ecx, esi
or ecx, ebx
je 0x100ab53d
push ebx
push esi
call fcn.1000a580
add esp, 8
jmp 0x100ab53f
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], eax
test eax, eax
je 0x100ab51e
push esi
push 0
push eax
call fcn.100ff5c0
mov eax, 3
add esp, 0xc
mov dword [esp + 0x68], eax
jmp 0x100ab56a
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x54]
mov ebx, 7
lea esi, [ebx + 3]
cmp eax, dword [ebp + 0x10]
jge 0x100ab9c1
cmp dword [esp + 0x34], 0
mov edi, dword [edi + eax*4]
mov dword [esp + 0x70], edi
jne 0x100ab606
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab590
sub eax, edx
cmp eax, 8
jbe 0x100ab606
push 8
push str.tokenize
push edi
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
jne 0x100ab606
mov al, byte [edi + 8]
test al, al
js 0x100ab606
movsx edx, al
cmp byte [edx + 0x101187b8], 0
jne 0x100ab606
add edi, 9
push edi
push 0x10112e4c
call sym.MyService.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x100ab5e5
mov eax, ebx
mov dword [esp + 0xc], eax
jmp 0x100ab945
push eax
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x3c]
push ecx
push edi
call fcn.100b5cd0
add esp, 0x10
mov dword [esp + 0xc], eax
jmp 0x100ab945
cmp dword [esp + 0x58], 0
je 0x100ab918
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x7c]
push eax
mov edx, edi
call fcn.100aad00
add esp, 8
test eax, eax
je 0x100ab918
mov edi, dword [esp + 0x30]
mov dword [esp + 0x88], str.matchinfo
mov dword [esp + 0x8c], 9
mov dword [esp + 0x90], str.prefix
mov dword [esp + 0x94], 6
mov dword [esp + 0x98], str.compress
mov dword [esp + 0x9c], 8
mov dword [esp + 0xa0], str.uncompress
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], str.order
mov dword [esp + 0xac], 5
mov dword [esp + 0xb0], str.content
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], str.languageid
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], str.notindexed
mov dword [esp + 0xc4], esi
test edi, edi
jne 0x100ab6de
mov dword [esp + 0xc], ebx
jmp 0x100ab945
xor ebx, ebx
lea esi, [esp + 0x8c]
mov eax, dword [esi]
cmp dword [esp + 0x78], eax
jne 0x100ab705
mov ecx, dword [esi - 4]
mov edx, dword [esp + 0x70]
push eax
push ecx
push edx
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100ab70e
inc ebx
add esi, 8
cmp ebx, 8
jl 0x100ab6e7
cmp ebx, 7
ja case.default.0x100ab717
jmp dword [ebx*4 + 0x100ac31c]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab723
sub eax, edx
cmp eax, 4
jne 0x100ab744
push eax
push str.fts3
push edi
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100ab75e
mov esi, dword [esp + 0x18]
push edi
push str.unrecognized_matchinfo:__s
call fcn.100aa840
add esp, 8
mov dword [esp + 0xc], 1
push edi
mov dword [esp + 0x80], 1
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, dword [esp + 0x4c]
push eax
call sym.MyService.dll_sqlite3_free
mov dword [esp + 0x50], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov ecx, dword [esp + 0x2c]
push ecx
call sym.MyService.dll_sqlite3_free
mov dword [esp + 0x30], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov edx, dword [esp + 0x24]
push edx
call sym.MyService.dll_sqlite3_free
mov dword [esp + 0x28], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, edi
lea edx, [eax + 1]
jmp 0x100ab7f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab7f0
sub eax, edx
cmp eax, 3
jne 0x100ab811
push eax
push 0x1012212c
push edi
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100ab851
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab816
sub eax, edx
cmp eax, 4
jne 0x100ab837
push eax
push str.desc
push edi
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x100ab851
mov esi, dword [esp + 0x18]
push edi
push str.unrecognized_order:__s
call fcn.100aa840
add esp, 8
mov dword [esp + 0xc], 1
mov al, byte [edi]
cmp al, 0x64
je 0x100ab871
cmp al, 0x44
je 0x100ab871
push edi
mov dword [esp + 0x68], 0
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
push edi
mov dword [esp + 0x68], 1
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, dword [esp + 0x38]
push eax
call sym.MyService.dll_sqlite3_free
mov dword [esp + 0x3c], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov ecx, dword [esp + 0x28]
push ecx
call sym.MyService.dll_sqlite3_free
mov dword [esp + 0x2c], edi
xor edi, edi
add esp, 4
push edi
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov dword [edx + eax*4], edi
xor edi, edi
inc eax
push edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edi
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
push eax
push str.unrecognized_parameter:__s
call fcn.100aa840
add esp, 8
push edi
mov dword [esp + 0x10], 1
call sym.MyService.dll_sqlite3_free
add esp, 4
jmp 0x100ab945
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100ab920
mov ecx, dword [esp + 0x14]
sub eax, edx
lea edx, [ecx + eax + 1]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], edi
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
inc dword [esp + 0x68]
cmp dword [esp + 0xc], 0
je 0x100ab562
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x100abf84
cmp dword [0x1012c3e8], 0
je 0x100abf7a
mov eax, dword [0x1013afb8]
test eax, eax
je 0x100ab980
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
add esp, 4
mov edi, 1
sub dword [0x1013af74], edi
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100abf8e
push eax
call dword [0x1012c440]
add esp, 4
jmp 0x100abf89
cmp dword [esp + 0xc], 0
jne 0x100ab954
mov esi, dword [esp + 0x38]
xor ebx, ebx
cmp esi, ebx
je 0x100ababf
mov edx, dword [esp + 0x2c]
push edx
call sym.MyService.dll_sqlite3_free
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call sym.MyService.dll_sqlite3_free
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x10], ebx
jne 0x100abae1
mov ecx, dword [esp + 0x48]
push ecx
call sym.MyService.dll_sqlite3_free
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + 4]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x90]
mov eax, esi
mov dword [esp + 0x2c], ebx
call fcn.100ab260
add esp, 0x10
mov dword [esp + 0xc], eax
cmp eax, ebx
jne 0x100ab954
cmp dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x10]
je 0x100abac3
xor edi, edi
test ebx, ebx
jle 0x100abac5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x100abab8
mov ecx, dword [esp + 0x28]
mov esi, eax
sub esi, ecx
lea ebx, [ebx]
movzx eax, byte [ecx]
movzx edx, byte [esi + ecx]
cmp eax, edx
jne 0x100abaa3
test eax, eax
jne 0x100abab5
mov eax, edi
cmp edi, ebx
jge 0x100aba9c
mov ecx, dword [esp + 0x1c]
lea esp, [esp]
mov edx, dword [ecx + eax*4 + 4]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, ebx
jl 0x100aba90
dec ebx
mov dword [esp + 0x10], ebx
jmp 0x100abac3
movzx edx, byte [edx + 0x10112f10]
movzx eax, byte [eax + 0x10112f10]
sub eax, edx
jne 0x100abab8
inc ecx
jmp 0x100aba70
inc edi
cmp edi, ebx
jl 0x100aba57
jmp 0x100abac3
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x100abae1
mov eax, dword [esp + 0x1c]
mov dword [eax], str.content
mov dword [esp + 0x14], 8
mov dword [esp + 0x10], 1
cmp dword [esp + 0x34], 0
jne 0x100abb2d
push str.simple
push 0x10112e4c
call sym.MyService.dll_sqlite3_mprintf
add esp, 8
test eax, eax
jne 0x100abb05
mov eax, 7
jmp 0x100abb21
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x70]
push ecx
lea edx, [esp + 0x3c]
push edx
push str.simple
call fcn.100b5cd0
add esp, 0x10
mov dword [esp + 0xc], eax
test eax, eax
jne 0x100ab954
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x78]
push ecx
push esi
call fcn.100ab150
add esp, 0xc
mov dword [esp + 0xc], eax
cmp eax, 1
jne 0x100abb64
push esi
mov esi, dword [esp + 0x1c]
push str.error_parsing_prefix_parameter:__s
call fcn.100aa840
add esp, 8
jmp 0x100ab954
test eax, eax
jne 0x100ab954
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x74]
add ecx, eax
lea edx, [esi + esi*2 + 0x24]
lea eax, [ecx + eax*4]
lea ebx, [eax + edx*8]
add ebx, dword [esp + 0x40]
xor edi, edi
add ebx, dword [esp + 0x14]
call sym.MyService.dll_sqlite3_initialize
test eax, eax
je 0x100abba8
mov dword [esp + 0x50], edi
mov dword [esp + 0xc], 7
jmp 0x100ab954
mov ecx, ebx
or ecx, edi
je 0x100abbbc
push edi
push ebx
call fcn.1000a580
add esp, 8
mov edi, eax
jmp 0x100abbbe
xor edi, edi
mov dword [esp + 0x50], edi
test edi, edi
jne 0x100abbd3
mov dword [esp + 0xc], 7
jmp 0x100ab954
push ebx
push 0
push edi
call fcn.100ff5c0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x8c]
mov dword [edi + 0x18], eax
lea eax, [edi + 0x120]
mov dword [edi + 0xc], edx
mov dword [edi + 0x10c], 0
mov dword [edi + 0x1c], eax
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x24], ecx
mov ecx, dword [esp + 0x64]
add esp, 0xc
mov dword [edi + 0x108], 0x100000
test ecx, ecx
je 0x100abc2a
cmp dword [esp + 0x7c], 0
jne 0x100abc2a
mov edx, 1
jmp 0x100abc2c
xor edx, edx
mov byte [edi + 0xee], dl
mov dl, byte [esp + 0x64]
mov byte [edi + 0xed], cl
mov byte [edi + 0xec], cl
mov ecx, dword [esp + 0x38]
lea ebx, [esi + esi*2]
add ebx, ebx
mov byte [edi + 0xef], dl
mov edx, dword [esp + 0x28]
mov dword [edi + 0x28], ecx
xor ecx, ecx
add ebx, ebx
mov dword [edi + 0x2c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
add ebx, ebx
push ebx
lea eax, [eax + ecx*4]
push edx
push eax
mov dword [edi + 0x30], 0xff
mov dword [edi + 0x104], eax
call fcn.101025e0
add esp, 0xc
mov dword [edi + 0x100], esi
test esi, esi
jle 0x100abcc1
xor edx, edx
xor ecx, ecx
lea ebx, [ebx]
mov eax, dword [edi + 0x104]
lea eax, [ecx + eax + 4]
add ecx, 0x18
dec esi
mov word [eax], 0x101
mov dword [eax + 8], edx
mov dword [eax + 4], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
jne 0x100abca0
mov esi, dword [edi + 0x104]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
add esi, ebx
mov dword [edi + 0x20], esi
add esi, dword [esp + 0x10]
push eax
mov dword [edi + 0x14], esi
mov edx, dword [ecx + 8]
push edx
push esi
call fcn.101025e0
add esi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x4c]
add esp, 0xc
mov dword [edi + 0x10], esi
mov ecx, dword [eax + 4]
push ebx
push ecx
push esi
call fcn.101025e0
add esi, ebx
xor ebx, ebx
add esp, 0xc
cmp dword [esp + 0x10], ebx
jle 0x100abd66
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ebx*4]
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x18], 0
call fcn.100b5ba0
add esp, 4
cmp dword [esp + 0x14], 0
jle 0x100abd42
mov ecx, dword [esp + 0x14]
push ecx
push eax
push esi
call fcn.101025e0
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, esi
mov byte [edx + esi], 0
call fcn.100aa540
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [eax + ebx*4], esi
inc ebx
lea esi, [ecx + esi + 1]
cmp ebx, dword [esp + 0x10]
jl 0x100abd10
cmp dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
jle 0x100abe70
mov edx, dword [edi + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [edx + eax*4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100abd86
sub eax, edx
xor ebx, ebx
mov dword [esp + 0x40], eax
cmp dword [esp + 0x20], ebx
jle 0x100abe5d
nop
mov ecx, dword [esp + 0x44]
mov esi, dword [ecx + ebx*4]
test esi, esi
je 0x100abe52
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100abdb4
sub eax, edx
cmp dword [esp + 0x40], eax
jne 0x100abe52
mov edx, dword [esp + 0x40]
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [eax + ecx*4]
push esi
push edx
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
jne 0x100abe52
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x14]
mov byte [ecx + eax], 1
cmp dword [0x1012c3e8], 0
je 0x100abe3d
mov eax, dword [0x1013afb8]
test eax, eax
je 0x100abe0b
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
dec dword [0x1013af74]
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100abe47
push eax
call dword [0x1012c440]
jmp 0x100abe44
push esi
call dword [0x1012c40c]
add esp, 4
mov edx, dword [esp + 0x44]
mov dword [edx + ebx*4], 0
inc ebx
cmp ebx, dword [esp + 0x20]
jl 0x100abda0
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x10]
jl 0x100abd79
mov esi, dword [esp + 0x18]
xor ebx, ebx
cmp dword [esp + 0x20], ebx
jle 0x100abead
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x100abe9e
push eax
push str.no_such_column:__s
call fcn.100aa840
add esp, 8
mov ecx, 1
inc ebx
cmp ebx, dword [esp + 0x20]
jl 0x100abe80
mov dword [esp + 0xc], ecx
test ecx, ecx
jne 0x100abeeb
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
xor edx, edx
test ebx, ebx
sete dl
cmp edx, ecx
je 0x100abeef
mov eax, str.compress
test ebx, ebx
je 0x100abed3
mov eax, str.uncompress
push eax
push str.missing__s_parameter_in_fts4_constructor
mov dword [esp + 0x14], 1
call fcn.100aa840
add esp, 8
jmp 0x100abeef
mov ebx, dword [esp + 0x2c]
lea eax, [esp + 0xc]
push eax
mov eax, dword [esp + 0x28]
mov esi, edi
call fcn.100aae50
lea ecx, [esp + 0x10]
add esp, 4
mov dword [edi + 0xe0], eax
push ecx
mov eax, ebx
call fcn.100aafe0
add esp, 4
cmp dword [esp + 0xc], 0
mov dword [edi + 0xe4], eax
jne 0x100ab954
mov esi, dword [ebp + 8]
test esi, esi
je 0x100abf38
call fcn.100aaaa0
mov dword [esp + 0xc], eax
cmp dword [esp + 0x58], 0
jne 0x100abf4a
test esi, esi
jne 0x100abf4a
mov byte [edi + 0xed], 2
lea edx, [esp + 0xc]
push edx
call fcn.100aac40
mov eax, dword [edi + 0xf4]
sub eax, 0x23
lea ecx, [esp + 0x10]
add esp, 4
mov dword [edi + 0xe8], eax
push ecx
mov eax, edi
call fcn.100aa920
add esp, 4
jmp 0x100ab954
push esi
call dword [0x1012c40c]
add esp, 4
mov edi, 1
mov eax, dword [0x1013afb8]
mov esi, dword [esp + 0x60]
test esi, esi
je 0x100abfee
cmp dword [0x1012c3e8], 0
je 0x100abfdf
test eax, eax
je 0x100abfad
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
sub dword [0x1013af74], edi
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100abfee
push eax
call dword [0x1012c440]
jmp 0x100abfe6
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x100ac04e
cmp dword [0x1012c3e8], 0
je 0x100ac03f
test eax, eax
je 0x100ac00d
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
sub dword [0x1013af74], edi
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac04e
push eax
call dword [0x1012c440]
jmp 0x100ac046
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
mov esi, dword [esp + 0x24]
test esi, esi
je 0x100ac0ae
cmp dword [0x1012c3e8], 0
je 0x100ac09f
test eax, eax
je 0x100ac06d
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
sub dword [0x1013af74], edi
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac0ae
push eax
call dword [0x1012c440]
jmp 0x100ac0a6
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
mov esi, dword [esp + 0x38]
test esi, esi
je 0x100ac10e
cmp dword [0x1012c3e8], 0
je 0x100ac0ff
test eax, eax
je 0x100ac0cd
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
sub dword [0x1013af74], edi
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac10e
push eax
call dword [0x1012c440]
jmp 0x100ac106
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
mov esi, dword [esp + 0x28]
test esi, esi
je 0x100ac16e
cmp dword [0x1012c3e8], 0
je 0x100ac15f
test eax, eax
je 0x100ac12d
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
sub dword [0x1013af74], edi
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac16e
push eax
call dword [0x1012c440]
jmp 0x100ac166
push esi
call dword [0x1012c40c]
add esp, 4
mov eax, dword [0x1013afb8]
mov ebx, dword [esp + 0x3c]
xor edi, edi
cmp dword [esp + 0x20], edi
jle 0x100ac1e0
mov esi, dword [ebx + edi*4]
test esi, esi
je 0x100ac1d9
cmp dword [0x1012c3e8], 0
je 0x100ac1ca
test eax, eax
je 0x100ac198
push eax
call dword [0x1012c438]
add esp, 4
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
dec dword [0x1013af74]
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac1d9
push eax
call dword [0x1012c440]
jmp 0x100ac1d1
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
inc edi
cmp edi, dword [esp + 0x20]
jl 0x100ac17a
cmp dword [esp + 0x1c], 0
je 0x100ac247
cmp dword [0x1012c3e8], 0
je 0x100ac234
test eax, eax
je 0x100ac1fe
push eax
call dword [0x1012c438]
add esp, 4
mov esi, dword [esp + 0x1c]
push esi
call dword [0x1012c414]
sub dword [0x1013af50], eax
dec dword [0x1013af74]
add esp, 4
push esi
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac247
push eax
call dword [0x1012c440]
jmp 0x100ac23f
mov edx, dword [esp + 0x1c]
push edx
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test ebx, ebx
je 0x100ac29e
cmp dword [0x1012c3e8], 0
je 0x100ac294
test eax, eax
je 0x100ac262
push eax
call dword [0x1012c438]
add esp, 4
push ebx
call dword [0x1012c414]
sub dword [0x1013af50], eax
dec dword [0x1013af74]
add esp, 4
push ebx
call dword [0x1012c40c]
mov eax, dword [0x1013afb8]
add esp, 4
test eax, eax
je 0x100ac29e
push eax
call dword [0x1012c440]
jmp 0x100ac29b
push ebx
call dword [0x1012c40c]
add esp, 4
mov esi, dword [esp + 0xc]
test esi, esi
je 0x100ac2f8
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100ac2ce
push eax
call fcn.100aa5a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.100f9904
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100ac305
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.100f9904
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.100f9904
mov esp, ebp
pop ebp
ret