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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov ebx, ecx
mov byte [esp + 7], 0
mov dword [esp + 0x10], ebx
xor ecx, ecx
push esi
push edi
mov ebx, dword [ebx + 8]
mov edi, edx
xor eax, eax
mov dword [esp + 0x58], ecx
xor edx, edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x24], eax
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x60], ecx
cmp dword [ebx + 0x78], ecx
jg 0x100921c8
push edx
push edx
push edx
lea edx, [eax + 0x11]
mov ecx, ebx
call fcn.10029250
add esp, 0xc
mov dword [esp + 0x60], eax
jmp 0x100921eb
lea eax, [ecx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov edx, dword [ebp + 0x14]
xor ecx, ecx
mov edi, dword [edi + 0x14]
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esi + 0x10]
mov ebx, dword [edx + 0x48]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], ebx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esp + 0x4c], eax
cmp edi, eax
jae 0x10092584
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
nop dword [eax]
mov eax, dword [ebx]
or eax, dword [ebx + 4]
mov esi, dword [edi]
jne 0x10092443
test byte [edi + 0xa], 2
jne 0x10092443
test byte [esi + 4], 1
jne 0x10092443
mov eax, 3
mov dword [esp + 0x68], fcn.10043a90
mov word [esp + 0x78], ax
lea ecx, [esp + 0x64]
mov eax, dword [ebp + 8]
mov edx, esi
mov dword [esp + 0x6c], 0x10043940
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x7c], eax
call fcn.1003d7d0
cmp word [esp + 0x78], 0
je 0x1009243b
mov edx, esi
mov esi, dword [esp + 0x18]
push 0
push 0
mov ecx, dword [esi]
call fcn.100427c0
mov edx, dword [esp + 0x2c]
add esp, 8
mov ecx, dword [esi]
mov ebx, eax
mov dword [esp + 0x5c], ecx
test edx, edx
jne 0x100922c9
mov dword [esp + 0x24], ebx
jmp 0x1009243b
test ebx, ebx
je 0x1009243b
mov eax, dword [edx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x100922f3
mov eax, dword [ebx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x100923a9
cmp byte [esi + 0xcc], 2
jae 0x100923a9
mov ecx, esi
call fcn.10042630
mov edx, ebx
mov ecx, esi
call fcn.10042630
xor esi, esi
lea edx, [esp + 0x50]
mov ecx, 0x10109688
mov dword [esp + 0x50], esi
call fcn.10009750
mov ecx, dword [esp + 0x5c]
test eax, eax
mov eax, 2
cmove esi, eax
push 0
lea eax, [esi + 0x34]
push eax
call fcn.10005060
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
je 0x1009243b
push 0x34
push 0
push edx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x30]
or eax, 0xffffffff
add esp, 0xc
mov byte [edx], 0x9a
mov word [edx + 0x22], ax
test esi, esi
jne 0x10092392
mov eax, dword [esp + 0x50]
mov ecx, 0x20800400
test eax, eax
mov dword [edx + 8], eax
mov ebx, 0x10800400
mov dword [edx + 0x18], 1
cmovne ecx, ebx
or dword [edx + 4], ecx
jmp 0x1009243b
lea eax, [edx + 0x34]
mov dword [edx + 8], eax
mov word [eax], 0x30
mov dword [edx + 0x18], 1
jmp 0x1009243b
push 0
push 0x34
call fcn.10005060
mov esi, eax
add esp, 8
test esi, esi
je 0x1009241b
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
or eax, 0xffffffff
mov byte [esi], 0x2c
mov word [esi + 0x22], ax
add esp, 0xc
mov dword [esi + 0x10], ebx
mov ecx, esi
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [esi + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
call fcn.10041460
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [esi + 0x18], eax
jle 0x10092437
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.10008be0
add esp, 0xc
jmp 0x10092437
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx]
call fcn.10042580
mov eax, dword [esp + 0x18]
mov edx, ebx
mov ecx, dword [eax]
call fcn.10042580
mov dword [esp + 0x24], esi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x14]
cmp eax, dword [esi + 0x2c]
jne 0x1009256d
movzx ecx, word [edi + 0xc]
test cl, 0x82
je 0x10092569
test byte [esi + 0x24], 8
je 0x10092475
mov eax, dword [edi]
test byte [eax + 4], 1
jne 0x10092475
test cl, cl
js 0x10092569
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x24]
and ecx, dword [edi + 0x20]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x10092569
mov ecx, dword [edi + 0x18]
test ecx, ecx
js 0x10092569
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov dl, byte [eax + ecx*8 + 8]
mov ecx, dword [edi]
call fcn.10040a30
test eax, eax
je 0x10092565
mov ecx, dword [edi + 0x18]
xor esi, esi
cmp ecx, 0x40
jl 0x100924c0
mov ebx, 0x80000000
jmp 0x100924d5
mov eax, ecx
xor ebx, ebx
bts esi, eax
cmp eax, 0x20
cmovae ebx, esi
xor esi, ebx
cmp eax, 0x40
cmovae ebx, esi
cmp byte [esp + 0xf], 0
jne 0x10092501
mov edx, dword [esp + 0x3c]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call sym.sqlite3.dll_sqlite3_log
add esp, 0x10
mov byte [esp + 0xf], 1
mov edx, dword [esp + 0x1c]
mov ecx, esi
and ecx, dword [esp + 0x28]
mov eax, ebx
and eax, edx
or ecx, eax
jne 0x10092560
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x5c], eax
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call fcn.10093360
add esp, 4
test eax, eax
jne 0x10092f4a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
or dword [esp + 0x28], esi
or edx, ebx
mov eax, dword [eax + 0x30]
mov esi, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov dword [eax + ecx*4], edi
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
jmp 0x1009256d
mov esi, dword [ebp + 8]
jmp 0x10092569
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
add edi, 0x30
cmp edi, dword [esp + 0x4c]
jb 0x10092240
mov edi, dword [esp + 0x28]
jmp 0x10092588
mov edi, dword [esp + 0x40]
movzx eax, cx
not edx
mov word [ebx + 0x28], ax
or edx, 0x80000000
mov word [ebx + 0x18], ax
not edi
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x24], 0x4241
mov ecx, dword [esi + 0x38]
and edi, ecx
mov ebx, dword [esi + 0x3c]
and edx, ebx
mov dword [esp + 0x28], edi
movzx edi, word [eax + 0x22]
mov dword [esp + 0x1c], edx
mov edx, 0x3f
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x5c], edi
movzx eax, di
cmp dx, di
jge 0x100925dd
mov dword [esp + 0x50], edx
jmp 0x100925eb
movsx edx, di
mov dword [esp + 0x50], edx
xor edx, edx
cmp dx, ax
jge 0x1009262b
mov ebx, dword [esp + 0x50]
xor esi, esi
mov edi, dword [esp + 0x1c]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x28]
and ecx, edi
or edx, ecx
je 0x1009261a
inc dword [esp + 0x14]
inc esi
cmp esi, ebx
jl 0x100925f5
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
test ebx, ebx
jg 0x10092645
jl 0x10092635
test ecx, ecx
jae 0x10092645
mov ecx, dword [esp + 0x14]
movsx eax, di
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx ebx, ax
mov ecx, dword [ecx]
lea eax, [ebx + 1]
movzx eax, ax
movsx esi, ax
mov dword [esp + 0x40], eax
lea eax, [esi*4 + 9]
add eax, esi
lea edi, [esi*4 + 7]
and eax, 0xfffffff8
and edi, 0xfffffff8
add eax, 0x48
add eax, edi
mov dword [esp + 0x5c], eax
cdq
push edx
push eax
test ecx, ecx
je 0x1009268c
call fcn.10005060
jmp 0x10092691
call fcn.100049e0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x10092f4a
push dword [esp + 0x5c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x2c]
add esp, 0xc
xorps xmm0, xmm0
lea eax, [ecx + 0x48]
mov word [ecx + 0x32], bx
mov dword [ecx + 0x20], eax
xor ebx, ebx
add eax, edi
mov dword [esp + 0x2c], ebx
mov dword [ecx + 8], eax
lea eax, [eax + esi*2]
add eax, 2
mov dword [ecx + 4], eax
lea eax, [eax + esi*2]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x40]
mov word [ecx + 0x34], ax
mov eax, dword [esp + 0x30]
movlpd qword [esp + 0x40], xmm0
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [ecx], str.auto_index
mov edi, dword [eax + 0x14]
mov dword [esp + 0x38], edi
cmp edi, dword [esp + 0x4c]
jae 0x100928e4
mov eax, dword [esp + 0x44]
mov edx, dword [ebp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x14]
cmp eax, dword [edx + 0x2c]
jne 0x100928d3
movzx ecx, word [edi + 0xc]
test cl, 0x82
je 0x100928d3
test byte [edx + 0x24], 8
je 0x10092753
mov eax, dword [edi]
test byte [eax + 4], 1
jne 0x10092753
test cl, cl
js 0x100928d3
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x24]
and ecx, dword [edi + 0x20]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x100928d3
mov ecx, dword [edi + 0x18]
test ecx, ecx
js 0x100928d3
mov eax, dword [edx + 0x10]
add ecx, ecx
mov esi, dword [edi]
mov eax, dword [eax + 4]
mov bh, byte [eax + ecx*8 + 8]
mov ecx, dword [esi + 0xc]
call fcn.100406e0
mov ecx, dword [esi + 0x10]
mov bl, al
test ecx, ecx
je 0x100927cc
call fcn.100406e0
cmp al, 0x40
jle 0x100927e2
cmp bl, 0x40
jle 0x100927e0
cmp al, 0x43
jge 0x100927a8
cmp bl, 0x43
jl 0x100927b8
xor eax, eax
cmp bh, 0x43
setge al
test eax, eax
je 0x100928c2
mov eax, dword [edi + 0x18]
xor edx, edx
movzx edi, ax
cmp eax, 0x40
jl 0x100927fc
mov esi, 0x80000000
jmp 0x1009280f
test dword [esi + 4], 0x800
je 0x100927e7
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 8]
jmp 0x10092791
mov bl, al
or bl, 0x40
jmp 0x100927eb
test bl, bl
je 0x100927b8
cmp bl, 0x42
jl 0x100927b8
jne 0x100927a8
xor eax, eax
cmp bh, 0x42
sete al
jmp 0x100927b0
xor esi, esi
bts edx, eax
cmp eax, 0x20
cmovae esi, edx
xor edx, esi
cmp eax, 0x40
cmovae esi, edx
mov ebx, dword [esp + 0x5c]
mov ecx, edx
and ecx, dword [esp + 0x40]
mov eax, esi
and eax, ebx
or ecx, eax
jne 0x100928c8
mov eax, dword [esp + 0x20]
or ebx, esi
mov ecx, dword [esp + 0x38]
or dword [esp + 0x40], edx
mov dword [esp + 0x5c], ebx
mov eax, dword [eax + 4]
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x2c]
mov word [eax + ebx*2], di
test dword [ecx + 4], 0x200
je 0x10092855
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
jmp 0x1009285b
mov esi, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
test dword [edx + 4], 0x100
je 0x1009286a
mov ecx, dword [esp + 0x18]
jmp 0x10092890
test esi, esi
je 0x1009287d
test dword [esi + 4], 0x100
je 0x1009287d
mov ecx, dword [esp + 0x18]
jmp 0x1009288e
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.10040870
test eax, eax
jne 0x10092899
mov ecx, edi
mov edx, esi
call fcn.10040870
test eax, eax
je 0x100928ac
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
mov dword [eax + ebx*4], ecx
inc ebx
mov dword [esp + 0x2c], ebx
jmp 0x100928cc
mov eax, dword [esp + 0x20]
mov ecx, str.BINARY
mov eax, dword [eax + 0x20]
mov dword [eax + ebx*4], ecx
inc ebx
mov dword [esp + 0x2c], ebx
jmp 0x100928cc
mov ebx, dword [esp + 0x2c]
jmp 0x100928d0
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov edx, dword [ebp + 8]
add edi, 0x30
mov dword [esp + 0x38], edi
cmp edi, dword [esp + 0x4c]
jb 0x10092724
mov edi, dword [esp + 0x50]
xor esi, esi
test edi, edi
jle 0x10092932
nop
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x28]
and ecx, dword [esp + 0x1c]
or edx, ecx
je 0x10092929
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov word [eax + ebx*2], si
mov eax, dword [ecx + 0x20]
mov dword [eax + ebx*4], str.BINARY
inc ebx
inc esi
cmp esi, edi
jl 0x100928f0
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jg 0x10092979
jl 0x10092943
cmp dword [eax + 0x38], 0
jae 0x10092979
mov esi, dword [esp + 0x3c]
mov eax, 0x3f
mov edx, dword [esp + 0x20]
cmp ax, word [esi + 0x22]
jge 0x1009297d
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + ebx*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + ebx*4], str.BINARY
inc ebx
movsx eax, word [esi + 0x22]
cmp ecx, eax
jl 0x10092958
mov dword [esp + 0x2c], ebx
jmp 0x1009297d
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov edi, dword [esp + 0x10]
mov word [eax + ebx*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax + ebx*4], str.BINARY
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x28]
mov dword [ecx + 8], eax
inc dword [ebx + 0x28]
mov esi, dword [ecx + 8]
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x100929ca
push 0
push edx
push esi
mov edx, 0x72
mov ecx, edi
call fcn.10029250
add esp, 0xc
jmp 0x100929f5
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x72
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov edi, dword [ebx + 8]
call fcn.1005b100
mov esi, eax
test esi, esi
je 0x10092af5
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
je 0x10092ae3
cmp dword [eax + 0x210], 0
jne 0x10092af5
add dword [esi], 0xffffffff
jne 0x10092af5
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x10092a86
cmp dword [ecx + 0x210], 0
je 0x10092a4b
mov edx, esi
call fcn.10004c70
jmp 0x10092af5
cmp esi, dword [ecx + 0x164]
jae 0x10092a86
cmp esi, dword [ecx + 0x15c]
jb 0x10092a6e
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x10092af5
cmp esi, dword [ecx + 0x160]
jb 0x10092a86
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x10092af5
cmp dword [0x1011d0f8], 0
je 0x10092ad7
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x10092aa2
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 0x10092af5
push eax
call dword [0x1011d150]
add esp, 4
jmp 0x10092af5
push esi
call dword [0x1011d11c]
add esp, 4
jmp 0x10092af5
mov eax, dword [edi + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x70]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], esi
mov edx, dword [ebp + 0x14]
movzx eax, byte [edx + 0x34]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 0x30], 0x10
lea edi, [eax + ecx*8]
mov dword [esp + 0x3c], edi
je 0x10092c28
mov esi, dword [esp + 0x10]
mov ebx, dword [edi + 0x24]
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x58], ecx
cmp dword [esi + 0x78], ecx
jg 0x10092b48
push 0
push 0
push 0
mov edx, 0x46
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov dword [esp + 0x58], eax
jmp 0x10092b7b
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x20]
cmp dword [esi + 0x78], ecx
jg 0x10092b9b
push edx
push 0
push ebx
mov edx, 0xd
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x10092bc6
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov esi, dword [esi + 0x74]
cmp dword [ecx + 0x78], esi
jg 0x10092bef
push 0
push 0
push ebx
mov edx, 0xe
call fcn.10029250
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov esi, eax
jmp 0x10092c80
lea eax, [esi + 1]
mov dword [ecx + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10092c80
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 4]
mov esi, dword [ecx + 0x74]
cmp dword [ecx + 0x78], esi
jg 0x10092c4d
push 0
push 0
push edx
mov edx, 0x26
call fcn.10029250
add esp, 0xc
mov esi, eax
jmp 0x10092c80
lea eax, [esi + 1]
mov dword [ecx + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4], 0x26
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10092caa
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x44], ecx
call fcn.10049090
mov eax, dword [esp + 0x40]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov al, byte [ebx + 0x13]
test al, al
jne 0x10092cb9
inc dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x2c]
jmp 0x10092cc8
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov ebx, dword [ebx + eax*4 + 0x98]
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push ebx
push dword [edx + 4]
mov edx, dword [esp + 0x38]
call fcn.1005d3a0
mov dword [esp + 0x74], eax
add esp, 0x18
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
cmp dword [eax + 0x78], ecx
jg 0x10092d12
push 0
push ebx
push edx
mov edx, 0x88
mov ecx, eax
call fcn.10029250
add esp, 0xc
jmp 0x10092d47
mov edi, dword [esp + 0x10]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x74], eax
mov eax, edi
mov edi, dword [esp + 0x3c]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4], 0x88
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x74]
test ecx, ecx
jle 0x10092d69
mov eax, dword [edx + 0x70]
lea ecx, [ecx + ecx*4]
mov edi, 0x10
mov word [eax + ecx*4 - 0x12], di
mov ecx, dword [edx + 0x74]
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x24], 0
je 0x10092da5
mov edx, dword [edx + 0xc]
not dword [esp + 0x34]
mov eax, dword [edx + 0x3c]
add eax, dword [edx + 0x38]
jns 0x10092d97
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
push edx
mov edx, eax
mov ecx, dword [eax + 0xc]
call fcn.10029c70
add esp, 4
jmp 0x10092da1
mov eax, dword [edx + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x10]
test byte [edi + 0x30], 0x10
je 0x10092e63
mov ecx, dword [esp + 0x58]
test ecx, ecx
jns 0x10092dbb
mov ecx, dword [edx + 0x74]
dec ecx
mov eax, dword [edx]
cmp byte [eax + 0x53], 0
je 0x10092dca
mov ecx, 0x1011f1ec
jmp 0x10092dd3
mov eax, dword [edx + 0x70]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x5c]
mov edx, esi
add eax, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
push dword [eax + 8]
push dword [edi + 0x28]
push dword [eax + 4]
call fcn.100920e0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [edx + 0x74]
cmp dword [edx + 0x78], ecx
jg 0x10092e27
mov ecx, dword [esp + 0x10]
mov edx, 0xb
push 0
push esi
push 0
call fcn.10029250
add esp, 0xc
and dword [edi + 0x30], 0xffffffef
mov edi, dword [esp + 0x10]
jmp 0x10092ede
lea eax, [ecx + 1]
mov dword [edx + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [edi + 0x30], 0xffffffef
mov edi, dword [esp + 0x10]
jmp 0x10092ede
mov eax, dword [ebp + 0x14]
lea edx, [esi + 1]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
cmp dword [eax + 0x78], ecx
jg 0x10092e8f
push 0
push edx
push edi
mov edi, eax
mov edx, 5
mov ecx, edi
call fcn.10029250
add esp, 0xc
jmp 0x10092ec7
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x74], eax
mov eax, edx
lea edx, [esi + 1]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x10]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x10092ede
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x74]
test esi, esi
mov eax, dword [edi]
lea ecx, [edx - 1]
cmovns ecx, esi
cmp byte [eax + 0x53], 0
je 0x10092ef8
mov eax, 0x1011f1ec
jmp 0x10092f01
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebx, ebx
je 0x10092f20
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x10092f20
movzx eax, al
mov dword [ecx + eax*4 + 0x98], ebx
inc byte [ecx + 0x13]
mov edx, dword [edi + 0x74]
mov eax, dword [esp + 0x60]
test eax, eax
lea ecx, [edx - 1]
cmovns ecx, eax
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
je 0x10092f3e
mov eax, 0x1011f1ec
jmp 0x10092f47
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10092f5f
mov edx, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call fcn.10042580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret