Function at 0x1005e350
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ebx
push esi
mov esi, dword [eax + 8]
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x18]
push edi
mov edi, dword [ecx + 0x74]
xor ebx, ebx
lea eax, [edi - 1]
lea edx, [edi + 1]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], ecx
mov dword [ecx + 0x74], edx
test edi, eax
jne 0x1005e3a6
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx]
lea edx, [edi*8 + 4]
push ebx
push edx
call fcn.100045e0
mov ecx, dword [esp + 0x58]
add esp, 8
mov dword [ecx + 0x78], eax
mov ecx, dword [ecx + 0x78]
cmp ecx, ebx
je 0x1005e3b4
mov dword [ecx + edi*4], 0xffffffff
mov ecx, dword [esi + 0x18]
or eax, 0xffffffff
sub eax, edi
mov edi, dword [ecx + 0x74]
mov dword [esp + 0x14], eax
lea eax, [edi - 1]
lea edx, [edi + 1]
mov dword [esp + 0x50], ecx
mov dword [ecx + 0x74], edx
test edi, eax
jne 0x1005e3f1
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx]
lea edx, [edi*8 + 4]
push ebx
push edx
call fcn.100045e0
mov ecx, dword [esp + 0x58]
add esp, 8
mov dword [ecx + 0x78], eax
mov ecx, dword [ecx + 0x78]
cmp ecx, ebx
je 0x1005e3ff
mov dword [ecx + edi*4], 0xffffffff
mov edx, dword [ebp + 0xc]
movzx ecx, byte [edx + 4]
or eax, 0xffffffff
sub eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x2c]
mov edi, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
cmp ecx, 0x74
je 0x1005e520
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], 1
cmp byte [ecx + 0x45], bl
jne 0x1005e520
lea eax, [edi + edi*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x50], eax
jmp 0x1005e457
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov eax, dword [esp + 0x10]
cmp eax, dword [edx]
jg 0x1005e520
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
xor eax, eax
cmp edi, ebx
jle 0x1005e486
add ecx, 0x14
movzx edx, word [ecx]
cmp edx, dword [esp + 0x10]
je 0x1005e486
inc eax
add ecx, 0x18
cmp eax, edi
jl 0x1005e475
cmp eax, edi
jne 0x1005e50f
mov eax, dword [esp + 0xc]
push ebx
push 0x31
call fcn.10004420
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x1005e58b
push 0x30
push ebx
push edi
call fcn.100a6a70
mov ecx, dword [esp + 0x1c]
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov eax, dword [ebp + 8]
mov byte [edi], 0x84
mov byte [edi + 0x30], bl
or dword [edi + 4], 0x400
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov ebx, edi
mov dword [edi + 0x18], 1
call fcn.10039640
mov dword [esp + 0x24], eax
test eax, eax
je 0x1005e509
inc dword [esp + 0x28]
mov edx, eax
mov ecx, dword [edx + 4]
mov eax, dword [esp + 0x50]
mov dx, word [esp + 0x10]
mov word [ecx + eax + 0x14], dx
add eax, 0x18
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x28]
xor ebx, ebx
mov eax, dword [esp + 0xc]
inc dword [esp + 0x10]
cmp byte [eax + 0x45], bl
je 0x1005e454
mov eax, dword [esp + 0xc]
lea ecx, [edi*4 + 4]
push ebx
push ecx
call fcn.10004420
add esp, 8
mov dword [esp + 0x50], eax
cmp eax, ebx
je 0x1005e597
mov edx, dword [esp + 0x24]
mov ecx, 1
mov dword [eax], edi
mov edx, dword [edx + 4]
cmp edi, ecx
jl 0x1005e575
add edx, 0x14
mov dword [esp + 0x44], edx
jmp 0x1005e560
mov edx, dword [esp + 0x44]
movzx edx, word [edx]
add dword [esp + 0x44], 0x18
dec edx
mov dword [eax + ecx*4], edx
inc ecx
cmp ecx, edi
jle 0x1005e560
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push eax
push edi
call fcn.1005cd90
add esp, 8
mov dword [esp + 0x44], eax
jmp 0x1005e59e
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0xc]
push ebx
mov dword [ecx + 0x2c], eax
mov edx, dword [edi]
push eax
push edx
call fcn.10038f40
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp dword [esp + 0x1c], 0x74
mov dword [ecx + 0x2c], eax
jne 0x1005e5cc
mov dword [esp + 0x48], ebx
jmp 0x1005e6b7
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edx, dword [eax]
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x38], edx
lea edx, [eax + edx + 1]
mov dword [edi + 0x4c], edx
mov edx, dword [esi + 0x18]
lea ecx, [eax + 1]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x48], ecx
cmp dword [edx + 0x58], eax
jg 0x1005e602
push ebx
push ecx
push ebx
push 0x16
call fcn.10024290
add esp, 0x10
jmp 0x1005e625
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x16
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0xc]
push 1
push eax
call fcn.1005b5e0
add esp, 8
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x1005e6b7
xor edi, edi
cmp dword [esp + 0x38], ebx
jle 0x1005e6b7
mov ecx, eax
add ecx, 0x14
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x30]
cmp eax, ebx
je 0x1005e744
push edi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.1005cd40
add esp, 0xc
cmp eax, ebx
jne 0x1005e694
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
cmp edi, dword [ecx]
jge 0x1005e694
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [edx + ecx]
push eax
call fcn.10037e00
add esp, 4
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
add dword [esp + 0x3c], 0x18
mov dword [ecx], eax
mov eax, dword [edx + 0x10]
mov byte [edi + eax], bl
inc edi
add ecx, 4
mov dword [esp + 0x4c], ecx
cmp edi, dword [esp + 0x38]
jl 0x1005e655
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov dword [edi + 0x30], ebx
mov dword [ecx + 0x34], ebx
mov edx, dword [edi + 0x2c]
push str.ORDER
push edx
push edi
push eax
call fcn.100372e0
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp dword [ecx + 0x30], ebx
jne 0x1005e6fb
mov eax, ecx
mov edx, dword [eax + 0x2c]
push str.ORDER
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100372e0
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
push ecx
push edi
call fcn.1005cc20
add esp, 8
cmp dword [edi + 0xc], ebx
je 0x1005e7d2
cmp dword [esp + 0x1c], 0x74
jne 0x1005e7d2
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x4c]
inc edi
lea eax, [edi + 1]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x4c], edi
cmp eax, ebx
je 0x1005e74b
lea ecx, [eax + 1]
jmp 0x1005e74e
xor eax, eax
jmp 0x1005e675
mov ecx, dword [ecx + 0xc]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], eax
jg 0x1005e768
push ebx
push edi
push ecx
push 0x1e
call fcn.10024290
add esp, 0x10
jmp 0x1005e78b
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1e
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x58], eax
jg 0x1005e7a9
mov edx, dword [esp + 0x3c]
push ebx
push edx
push edi
push 0x1e
call fcn.10024290
add esp, 0x10
jmp 0x1005e7da
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1e
jmp 0x1005e7da
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], ebx
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x38]
cmp edi, ebx
je 0x1005e943
test dword [edi + 4], 0x4000
jne 0x1005e899
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.10038a50
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.10038a50
add esp, 0x10
test dword [edi + 4], 0x10000
je 0x1005e86a
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x1005e86a
mov ecx, dword [esp + 0xc]
cmp ecx, ebx
je 0x1005e861
cmp dword [ecx + 0x1c8], ebx
je 0x1005e83b
call fcn.100040f0
jmp 0x1005e86a
cmp eax, dword [ecx + 0x120]
jb 0x1005e861
cmp eax, dword [ecx + 0x124]
jae 0x1005e861
mov edx, dword [ecx + 0x11c]
mov dword [eax], edx
dec dword [ecx + 0x108]
mov dword [ecx + 0x11c], eax
jmp 0x1005e86a
push eax
call sym.SQLite3Encrypt.dll_sqlite3_free
add esp, 4
test dword [edi + 4], 0x800
je 0x1005e888
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0xc]
push 1
push eax
push ecx
call fcn.100598f0
add esp, 0xc
jmp 0x1005e899
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0xc]
push edx
push eax
call fcn.10039850
add esp, 8
test dword [edi + 4], 0x8000
mov eax, dword [esp + 0xc]
jne 0x1005e943
cmp eax, ebx
je 0x1005e8ec
cmp dword [eax + 0x1c8], ebx
je 0x1005e8c6
mov ecx, dword [esp + 0xc]
mov eax, edi
call fcn.100040f0
jmp 0x1005e943
cmp edi, dword [eax + 0x120]
jb 0x1005e8ec
cmp edi, dword [eax + 0x124]
jae 0x1005e8ec
mov ecx, dword [eax + 0x11c]
mov dword [edi], ecx
dec dword [eax + 0x108]
mov dword [eax + 0x11c], edi
jmp 0x1005e943
cmp dword [0x100d33d0], ebx
je 0x1005e939
mov eax, dword [0x100d8cc0]
cmp eax, ebx
je 0x1005e907
push eax
call dword [0x100d3428]
add esp, 4
push edi
call dword [0x100d3404]
sub dword [0x100d8b08], eax
dec dword [0x100d8b2c]
add esp, 4
push edi
call dword [0x100d33fc]
mov eax, dword [0x100d8cc0]
add esp, 4
cmp eax, ebx
je 0x1005e943
push eax
call dword [0x100d3430]
jmp 0x1005e940
push edi
call dword [0x100d33fc]
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x38], ebx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x1005eabf
test dword [eax + 4], 0x4000
mov edi, dword [esp + 0xc]
jne 0x1005ea11
mov edx, eax
mov eax, dword [edx + 0xc]
push eax
push edi
call fcn.10038a50
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
push edx
push edi
call fcn.10038a50
mov eax, dword [esp + 0x20]
add esp, 0x10
test dword [eax + 4], 0x10000
je 0x1005e9e0
mov ecx, eax
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x1005e9e0
cmp edi, ebx
je 0x1005e9d7
cmp dword [edi + 0x1c8], ebx
je 0x1005e9b1
mov ecx, edi
call fcn.100040f0
jmp 0x1005e9e0
cmp eax, dword [edi + 0x120]
jb 0x1005e9d7
cmp eax, dword [edi + 0x124]
jae 0x1005e9d7
mov edx, dword [edi + 0x11c]
mov dword [eax], edx
dec dword [edi + 0x108]
mov dword [edi + 0x11c], eax
jmp 0x1005e9e0
push eax
call sym.SQLite3Encrypt.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x800
je 0x1005ea00
mov ecx, eax
mov edx, dword [ecx + 0x14]
push 1
push edx
push edi
call fcn.100598f0
add esp, 0xc
jmp 0x1005ea0d
mov ecx, dword [eax + 0x14]
push ecx
push edi
call fcn.10039850
add esp, 8
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x8000
jne 0x1005eabf
cmp edi, ebx
je 0x1005ea60
cmp dword [edi + 0x1c8], ebx
je 0x1005ea3a
mov eax, dword [esp + 0x10]
mov ecx, edi
call fcn.100040f0
jmp 0x1005eabf
cmp eax, dword [edi + 0x120]
jb 0x1005ea60
cmp eax, dword [edi + 0x124]
jae 0x1005ea60
mov edx, dword [edi + 0x11c]
mov dword [eax], edx
dec dword [edi + 0x108]
mov dword [edi + 0x11c], eax
jmp 0x1005eabf
cmp dword [0x100d33d0], ebx
je 0x1005eab1
mov eax, dword [0x100d8cc0]
cmp eax, ebx
je 0x1005ea7b
push eax
call dword [0x100d3428]
add esp, 4
mov edi, dword [esp + 0x10]
push edi
call dword [0x100d3404]
sub dword [0x100d8b08], eax
dec dword [0x100d8b2c]
add esp, 4
push edi
call dword [0x100d33fc]
mov eax, dword [0x100d8cc0]
add esp, 4
cmp eax, ebx
je 0x1005eabf
push eax
call dword [0x100d3430]
jmp 0x1005eabc
mov eax, dword [esp + 0x10]
push eax
call dword [0x100d33fc]
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x3c], ebx
inc dword [eax + 0x4c]
mov edi, dword [eax + 0x4c]
lea ecx, [edi + 1]
lea edx, [ecx + 1]
mov dword [esp + 0x2c], edx
inc edx
mov dword [eax + 0x4c], edx
mov dword [esp + 0x64], edi
mov word [esp + 0x60], 0xd
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ecx
mov word [esp + 0x74], 0xd
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x10], edi
lea eax, [ecx + 1]
cmp dword [edx + 0x58], ecx
jg 0x1005eb32
push eax
push ebx
push edi
push 0x10
call fcn.10024290
add esp, 0x10
mov dword [esp + 0x38], eax
jmp 0x1005eb59
mov edx, dword [esi + 4]
mov dword [esi + 0x20], eax
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
lea edx, [ecx + 1]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x10
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1d8]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x60]
push edx
push eax
push ecx
call fcn.10061e50
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
add esp, 0xc
cmp dword [ecx + 0x58], eax
jg 0x1005eb9a
push ebx
push ebx
push edi
push 0x11
call fcn.10024290
add esp, 0x10
jmp 0x1005ebbd
mov ecx, dword [esi + 4]
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x11
mov edx, dword [esi + 0x18]
mov byte [edx + 0x13], bl
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], ebx
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x38]
dec ecx
mov dword [edx + 0x60], ecx
mov ecx, dword [esi + 0x20]
cmp eax, ebx
jge 0x1005ebe1
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x45], bl
je 0x1005ebef
mov eax, 0x100d87f0
jmp 0x1005ebf8
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea edx, [ecx + 1]
cmp dword [eax + 0x58], ecx
jg 0x1005ec20
mov ecx, dword [esp + 0x24]
push edx
push ebx
push ecx
push 0x10
call fcn.10024290
add esp, 0x10
mov dword [esp + 0x38], eax
jmp 0x1005ec48
mov edi, dword [esi + 4]
mov dword [esi + 0x20], edx
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x24]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x10
mov dword [esp + 0x38], ecx
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x54], edx
lea edx, [esp + 0x74]
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 8]
push edx
mov dword [esp + 0x50], ecx
mov dword [edi + 0x10], ebx
mov ecx, dword [eax + 0x1d8]
push edi
push eax
mov dword [esp + 0x64], ecx
call fcn.10061e50
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], ecx
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
add esp, 0xc
cmp dword [edx + 0x58], eax
jg 0x1005ecab
mov eax, dword [esp + 0x24]
push ebx
push ebx
push eax
push 0x11
call fcn.10024290
add esp, 0x10
jmp 0x1005ecd2
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x11
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
push ecx
mov ecx, dword [ebp + 0x10]
mov byte [edx + 0x13], bl
mov eax, dword [esi + 0x18]
mov edx, dword [esp + 0x4c]
push edi
push edx
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x3c], ebx
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
lea eax, [esp + 0x7c]
call fcn.1005dee0
add esp, 0x1c
cmp dword [esp + 0x1c], 0x74
mov dword [esp + 0x40], eax
je 0x1005ed1c
cmp dword [esp + 0x1c], 0x73
jne 0x1005ed4b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
lea eax, [esp + 0x90]
call fcn.1005dee0
add esp, 0x1c
mov dword [esp + 0x34], eax
cmp edi, ebx
je 0x1005edaa
dec dword [edi]
jne 0x1005edaa
cmp dword [0x100d33d0], ebx
je 0x1005eda0
mov eax, dword [0x100d8cc0]
cmp eax, ebx
je 0x1005ed6e
push eax
call dword [0x100d3428]
add esp, 4
push edi
call dword [0x100d3404]
sub dword [0x100d8b08], eax
dec dword [0x100d8b2c]
add esp, 4
push edi
call dword [0x100d33fc]
mov eax, dword [0x100d8cc0]
add esp, 4
cmp eax, ebx
je 0x1005edaa
push eax
call dword [0x100d3430]
jmp 0x1005eda7
push edi
call dword [0x100d33fc]
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, 0x75
je 0x1005ef38
cmp eax, 0x76
je 0x1005ef38
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], ecx
jg 0x1005ede4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push ebx
push eax
push ecx
push 0xe
call fcn.10024290
add esp, 0x10
mov edi, eax
jmp 0x1005ee11
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov edi, ecx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x24], edi
cmp dword [eax + 0x58], ecx
jg 0x1005ee38
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ebx
push ecx
inc eax
push eax
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005ee66
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
inc edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x14]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x20]
cmp dword [ecx + 0x58], eax
jg 0x1005ee84
push ebx
push edi
push ebx
push 0xd
call fcn.10024290
add esp, 0x10
jmp 0x1005eea7
mov ecx, dword [esi + 4]
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
movzx eax, word [edx + 6]
movzx ecx, word [ecx + 6]
cmp cx, ax
jl 0x1005eeff
movsx edx, ax
movsx eax, cx
lea edi, [edx + 0x31]
cmp eax, edi
jle 0x1005eed3
mov edx, dword [ebp + 0xc]
mov eax, ecx
mov word [edx + 6], ax
jmp 0x1005ef44
lea edi, [edx + 0x1f]
cmp eax, edi
jle 0x1005eee7
mov edx, dword [ebp + 0xc]
inc ecx
movzx eax, cx
mov word [edx + 6], ax
jmp 0x1005ef44
sub eax, edx
movzx edx, byte [eax + str._n_n_t_t_b_b_a_a_a]
add dx, cx
movzx eax, dx
mov edx, dword [ebp + 0xc]
mov word [edx + 6], ax
jmp 0x1005ef44
movsx edx, cx
movsx ecx, ax
lea edi, [edx + 0x31]
cmp ecx, edi
jg 0x1005ef2f
lea edi, [edx + 0x1f]
cmp ecx, edi
jle 0x1005ef20
mov edx, dword [ebp + 0xc]
inc eax
movzx eax, ax
mov word [edx + 6], ax
jmp 0x1005ef44
sub ecx, edx
movzx ecx, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add cx, ax
movzx eax, cx
mov edx, dword [ebp + 0xc]
mov word [edx + 6], ax
jmp 0x1005ef44
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x1c], 0x76
jne 0x1005ef71
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp + 0xc]
cmp word [ecx + 6], ax
jle 0x1005f050
mov word [ecx + 6], ax
jmp 0x1005f050
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], ecx
jg 0x1005ef95
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push ecx
push 0xe
call fcn.10024290
add esp, 0x10
mov edi, eax
jmp 0x1005efc2
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov edi, ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x3c], edi
cmp dword [ecx + 0x58], eax
jg 0x1005efe8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ebx
push edx
push eax
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f013
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x58], eax
jg 0x1005f02d
push ebx
push edi
push ebx
push 0xd
call fcn.10024290
add esp, 0x10
jmp 0x1005f050
mov ecx, dword [esi + 4]
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], ecx
jg 0x1005f076
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push ecx
push 0xe
call fcn.10024290
add esp, 0x10
mov dword [esp + 0x48], eax
jmp 0x1005f0a7
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov eax, ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x20]
cmp dword [ecx + 0x58], eax
jg 0x1005f0cd
mov edx, dword [esp + 0x24]
push ebx
push edx
push edi
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f0f4
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], eax
jg 0x1005f112
mov eax, dword [esp + 0x20]
push ebx
push eax
push ebx
push 0xd
call fcn.10024290
add esp, 0x10
jmp 0x1005f139
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov eax, dword [esp + 0x1c]
cmp eax, 0x74
jne 0x1005f14f
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], edx
jmp 0x1005f1f6
cmp eax, 0x76
jne 0x1005f166
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
inc eax
mov dword [esp + 0x2c], eax
jmp 0x1005f1f6
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x58], ecx
jg 0x1005f184
mov ecx, dword [esp + 0x24]
push ebx
push ecx
push edi
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f1ad
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x24]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x20]
cmp dword [ecx + 0x58], eax
jg 0x1005f1cf
mov edx, dword [esp + 0x20]
push ebx
push edx
push ebx
push 0xd
call fcn.10024290
add esp, 0x10
jmp 0x1005f1f6
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x48], eax
cmp ecx, 0x74
je 0x1005f20b
cmp ecx, 0x73
jne 0x1005f255
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], eax
jg 0x1005f22a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push ebx
push eax
push ecx
push 0xe
call fcn.10024290
add esp, 0x10
jmp 0x1005f255
mov ecx, dword [esi + 4]
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xe
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
inc edi
cmp dword [edx + 0x58], eax
jg 0x1005f278
mov eax, dword [esp + 0x3c]
push ebx
push eax
push edi
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f29f
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], eax
jg 0x1005f2bd
mov eax, dword [esp + 0x20]
push ebx
push eax
push ebx
push 0xd
call fcn.10024290
add esp, 0x10
jmp 0x1005f2e4
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec edx
mov dword [eax + 0x60], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 0x20]
cmp eax, ebx
jge 0x1005f2fc
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x45], bl
je 0x1005f30a
mov eax, 0x100d87f0
jmp 0x1005f313
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x58], eax
jg 0x1005f338
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
push ebx
push edx
push eax
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f363
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x4c]
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x58], eax
jg 0x1005f381
mov edx, dword [esp + 0x3c]
push ebx
push edx
push edi
push 0x12
call fcn.10024290
add esp, 0x10
jmp 0x1005f3a8
lea ecx, [eax + 1]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x12
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x78]
cmp eax, ebx
je 0x1005f3c4
mov edx, dword [esp + 0x20]
lea edx, [edx*4 + 4]
sub eax, edx
mov edx, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0x20]
dec eax
mov dword [ecx + 0x60], eax
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x58], ecx
jg 0x1005f3e5
push ebx
push ebx
push ebx
push 0x29
call fcn.10024290
add esp, 0x10
jmp 0x1005f40a
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x29
mov eax, ecx
mov edx, dword [esi]
cmp byte [edx + 0x45], bl
je 0x1005f421
mov ecx, dword [esp + 0x50]
mov eax, 0xfffffff1
call fcn.10024cd0
jmp 0x1005f458
cmp eax, ebx
jge 0x1005f429
mov eax, dword [esi + 0x20]
dec eax
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x50]
cmp byte [edx + ecx*4 + 1], bl
lea ecx, [edx + ecx*4]
je 0x1005f44d
push eax
push esi
mov eax, 0xfffffff1
call fcn.10024ec0
add esp, 8
jmp 0x1005f458
cmp eax, ebx
je 0x1005f458
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xf1
mov ecx, dword [esp + 0x68]
mov eax, dword [esi + 0x18]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esi + 0x20]
cmp dword [eax + 0x58], ecx
jg 0x1005f486
mov ecx, dword [esp + 0x28]
push ecx
push edx
mov edx, dword [esp + 0x70]
push edx
push 0x2a
call fcn.10024290
add esp, 0x10
jmp 0x1005f4b3
mov edi, dword [esi + 4]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x28]
mov byte [eax + 3], bl
mov dword [eax + 4], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x2a
mov eax, ecx
mov edx, dword [esi]
cmp byte [edx + 0x45], bl
je 0x1005f4ca
mov ecx, dword [esp + 0x44]
mov eax, 0xfffffffa
call fcn.10024cd0
jmp 0x1005f505
cmp eax, ebx
jge 0x1005f4d2
mov eax, dword [esi + 0x20]
dec eax
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], bl
lea ecx, [ecx + eax*4]
je 0x1005f4f6
mov edx, dword [esp + 0x44]
push edx
push esi
mov eax, 0xfffffffa
call fcn.10024ec0
add esp, 8
jmp 0x1005f505
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x1005f505
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfa
mov eax, dword [esi]
cmp byte [eax + 0x45], bl
jne 0x1005f51a
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov byte [edx + ecx*4 - 0x11], 1
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x58], eax
jg 0x1005f540
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
push 0x2b
call fcn.10024290
add esp, 0x10
jmp 0x1005f56f
mov ecx, dword [esi + 4]
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x2b
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x78]
cmp eax, ebx
je 0x1005f58b
mov edx, dword [esp + 0x14]
lea edx, [edx*4 + 4]
sub eax, edx
mov edx, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0x20]
mov esi, dword [esp + 0x18]
dec eax
mov dword [ecx + 0x60], eax
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 9
jne 0x1005f5c3
mov ecx, dword [esi + 0x30]
mov eax, esi
cmp ecx, ebx
je 0x1005f5b0
mov eax, ecx
mov ecx, dword [eax + 0x30]
cmp ecx, ebx
jne 0x1005f5a7
mov edx, dword [eax]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call fcn.1005c360
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x30]
cmp eax, ebx
je 0x1005f5dd
mov edx, dword [esp + 0xc]
push 1
push eax
push edx
call fcn.100598f0
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [edi + 0x30], esi
mov dword [esi + 0x34], edi
cmp byte [eax + 0x1c5], 2
jne 0x1005f6f8
mov esi, dword [eax + 8]
movzx eax, byte [edi + 4]
sub eax, 0x74
je 0x1005f61a
dec eax
je 0x1005f613
dec eax
je 0x1005f60c
mov eax, str.UNION
jmp 0x1005f61f
mov eax, str.INTERSECT
jmp 0x1005f61f
mov eax, str.EXCEPT
jmp 0x1005f61f
mov eax, str.UNION_ALL
mov ecx, dword [esp + 0x5c]
mov edi, dword [ebp + 8]
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0x5c]
push 0x100bd4d8
push eax
push ecx
push str.COMPOUND_SUBQUERIES__d_AND__d__s__s_
push edx
call fcn.10005f90
mov ecx, dword [esi + 0x20]
mov edx, dword [edi + 0x1d4]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x18]
add esp, 0x18
cmp dword [eax + 0x58], ecx
jg 0x1005f669
push ebx
push ebx
push edx
push 0xa1
call fcn.10024290
add esp, 0x10
jmp 0x1005f68e
mov edi, dword [esi + 4]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xa1
mov eax, ecx
mov edx, dword [esi]
cmp byte [edx + 0x45], bl
je 0x1005f6b3
mov ecx, dword [esp + 0x50]
or eax, 0xffffffff
call fcn.10024cd0
mov ecx, dword [ebp + 8]
xor eax, eax
cmp dword [ecx + 0x44], ebx
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, ebx
jge 0x1005f6bb
mov eax, dword [esi + 0x20]
dec eax
mov edx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x50]
cmp byte [edx + ecx*4 + 1], bl
lea ecx, [edx + ecx*4]
je 0x1005f6ed
push eax
push esi
or eax, 0xffffffff
call fcn.10024ec0
mov ecx, dword [ebp + 8]
xor eax, eax
add esp, 8
cmp dword [ecx + 0x44], ebx
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, ebx
je 0x1005f6f8
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xff
mov ecx, dword [ebp + 8]
xor eax, eax
cmp dword [ecx + 0x44], ebx
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret