Function at 0x506ea0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x18], 0
mov eax, edx
mov dword [esp + 0x10], esi
push edi
mov dword [esp + 0x48], eax
cmp dword [esi + 0x40], 0
mov ebx, dword [esi]
mov dword [esp + 0x10], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x44], ebx
jne 0x507ddd
cmp byte [ebx + 0x1e], 0
jne 0x507ddd
call fcn.0051b960
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
je 0x507ddd
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x34], 0xfff0bdc0
test ecx, ecx
je 0x506f44
mov eax, dword [esi]
mov dword [esp + 0x34], 0
mov edx, dword [eax + 4]
test edx, edx
jle 0x506f44
mov eax, dword [eax + 8]
add eax, 0xc
cmp dword [eax], ecx
je 0x506f44
inc dword [esp + 0x34]
add eax, 0x10
cmp dword [esp + 0x34], edx
jl 0x506f33
mov edx, edi
mov ecx, esi
call fcn.0051efd0
test eax, eax
jne 0x507ddd
push ecx
mov edx, edi
mov ecx, esi
call fcn.0051b900
add esp, 4
test eax, eax
jne 0x507ddd
mov ecx, dword [edi + 0xc]
shl ecx, 2
cmp byte [ebx + 0x1e], al
je 0x506f81
mov edi, dword [ebp + 0xc]
xor ebx, ebx
xor ecx, ecx
jmp 0x507de8
cmp byte [ebx + 0xe2], 0
je 0x506fce
movzx eax, word [ebx + 0xe0]
cmp ecx, eax
jg 0x506fce
mov edx, dword [ebx + 0xec]
mov dword [esp + 0x10], edx
test edx, edx
je 0x506fce
mov eax, dword [edx]
mov dword [ebx + 0xec], eax
mov eax, dword [ebx + 0xe4]
inc eax
mov dword [ebx + 0xe4], eax
cmp eax, dword [ebx + 0xe8]
jle 0x506fc6
mov dword [ebx + 0xe8], eax
mov ecx, edx
mov dword [esp + 0x38], ecx
jmp 0x506ff3
push ecx
call fcn.0054a0f0
mov edx, eax
add esp, 4
mov dword [esp + 0x10], edx
test edx, edx
jne 0x506fe5
mov byte [ebx + 0x1e], 1
mov ecx, edx
mov dword [esp + 0x38], ecx
test edx, edx
je 0x507ddd
xor eax, eax
cmp dword [edi + 0xc], eax
jle 0x50700d
nop word [eax + eax]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0xc]
jl 0x507000
mov edx, dword [esp + 0x48]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x24], eax
mov dword [edx + 0x20], eax
mov ecx, dword [esi + 0x44]
inc ecx
mov dword [esi + 0x44], ecx
mov eax, dword [edi + 0x14]
test eax, eax
je 0x50703b
nop dword [eax]
inc ecx
mov dword [esi + 0x44], ecx
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x507030
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
movlpd qword [esp + 0x74], xmm0
movlpd qword [esp + 0x7c], xmm0
cmp dword [eax], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x28], 0
mov dword [esp + 0x3c], 0
jle 0x5071de
xor ebx, ebx
mov esi, eax
mov dword [esp + 0x40], ebx
nop word [eax + eax]
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x64]
mov edx, dword [edx + ebx]
call fcn.0052a170
test eax, eax
jne 0x507ddd
mov eax, dword [esp + 0x18]
xor edi, edi
cmp edi, dword [eax + 0xc]
jge 0x507171
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebx + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x58], eax
nop dword [eax]
mov esi, dword [eax]
mov edx, ecx
mov bl, byte [esi]
test bl, bl
je 0x507101
mov al, bl
sub esi, ecx
nop
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x56c740]
cmp al, byte [ecx + 0x56c740]
jne 0x507101
mov al, byte [edx + esi + 1]
inc edx
mov bl, al
test al, al
jne 0x5070e0
movzx eax, bl
movzx ecx, byte [eax + 0x56c740]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x56c740]
sub ecx, eax
je 0x50713b
mov ecx, dword [esp + 0x18]
inc edi
mov eax, dword [esp + 0x58]
add eax, 0x18
mov dword [esp + 0x58], eax
cmp edi, dword [ecx + 0xc]
mov ecx, dword [esp + 0x54]
jl 0x5070d0
mov ebx, dword [esp + 0x40]
mov esi, dword [ebp + 8]
jmp 0x507168
mov ebx, dword [esp + 0x18]
mov esi, dword [ebp + 8]
cmp edi, dword [ebx + 8]
mov ebx, dword [esp + 0x40]
jne 0x50715d
mov eax, dword [esi + 0xc]
mov dword [esp + 0x28], 1
mov eax, dword [ebx + eax]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x18]
cmp edi, dword [eax + 0xc]
jl 0x5071ba
mov esi, dword [esi + 0xc]
mov edx, str._ROWID_
mov edi, dword [esi + ebx + 4]
mov ecx, edi
call fcn.005473b0
test eax, eax
je 0x5071a8
mov edx, str.ROWID
mov ecx, edi
call fcn.005473b0
test eax, eax
je 0x5071a8
mov edx, 0x56f6e4
mov ecx, edi
call fcn.005473b0
test eax, eax
jne 0x507212
mov eax, dword [esi + ebx]
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
add ebx, 0x14
inc eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], eax
cmp eax, dword [esi]
jl 0x507090
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x14]
xor ecx, ecx
test eax, eax
je 0x507292
nop dword [eax + eax]
mov eax, dword [eax + 0x20]
inc ecx
test eax, eax
jne 0x5071f0
test ecx, ecx
jle 0x507292
shl ecx, 2
cmp byte [ebx + 0x1e], al
je 0x50722f
mov edi, dword [ebp + 0xc]
xor ecx, ecx
jmp 0x507de4
mov ecx, dword [esp + 0x14]
push edi
push str.no_such_column:__s
push ecx
call fcn.00547510
mov edi, dword [ebp + 0xc]
add esp, 0xc
xor ecx, ecx
jmp 0x507de4
cmp byte [ebx + 0xe2], 0
je 0x507276
movzx eax, word [ebx + 0xe0]
cmp ecx, eax
jg 0x507276
mov edx, dword [ebx + 0xec]
mov dword [esp + 0x1c], edx
test edx, edx
je 0x507276
mov eax, dword [edx]
mov dword [ebx + 0xec], eax
mov eax, dword [ebx + 0xe4]
inc eax
mov dword [ebx + 0xe4], eax
cmp eax, dword [ebx + 0xe8]
jle 0x507294
mov dword [ebx + 0xe8], eax
jmp 0x507294
push ecx
call fcn.0054a0f0
mov edx, eax
add esp, 4
mov dword [esp + 0x1c], edx
test edx, edx
jne 0x507294
mov byte [ebx + 0x1e], 1
jmp 0x507ddd
xor edx, edx
mov edi, dword [edi + 0x14]
test edi, edi
je 0x5072f6
mov ecx, dword [esp + 0x28]
mov eax, edx
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x5072b1
inc dword [esi + 0x48]
mov ebx, dword [esi + 0x48]
jmp 0x5072e6
mov esi, dword [edi + 4]
xor ebx, ebx
xor edx, edx
test esi, esi
jle 0x5072e2
mov ecx, dword [edi + 8]
nop
mov esi, dword [esp + 0x10]
mov eax, dword [ecx]
cmp dword [esi + eax*4], ebx
mov esi, dword [edi + 4]
jge 0x507374
inc edx
add ecx, 4
cmp edx, esi
jl 0x5072c0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov dword [eax], ebx
add eax, 4
mov edi, dword [edi + 0x20]
mov dword [esp + 0x40], eax
test edi, edi
jne 0x5072a5
mov esi, dword [esi + 0xc]
mov ebx, dword [esp + 0x14]
test esi, esi
jne 0x507315
mov ecx, dword [ebx]
call fcn.00536d40
mov esi, eax
mov dword [ebx + 0xc], esi
test esi, esi
je 0x507ddd
cmp byte [ebx + 0x13], 0
jne 0x50731f
mov byte [esi + 0x6d], 1
mov edi, dword [esp + 0x34]
mov ecx, ebx
mov edx, edi
call fcn.0051c7f0
mov eax, dword [ebx + 0x150]
mov edx, dword [esp + 0x18]
bts eax, edi
or byte [ebx + 0x158], 1
mov dword [ebx + 0x150], eax
test byte [edx + 0x22], 0x10
je 0x50738b
push dword [ebp + 0xc]
mov ecx, ebx
push dword [esp + 0x14]
push dword [esp + 0x54]
push dword [ebp + 8]
push edx
mov edx, dword [esp + 0x5c]
call fcn.005068e0
add esp, 0x14
xor edi, edi
mov dword [esp + 0x48], edi
jmp 0x507de0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
inc dword [esi + 0x48]
mov ebx, dword [esi + 0x48]
jmp 0x5072e6
mov ecx, dword [ebx + 0x48]
inc ecx
cmp dword [esp + 0x28], 0
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x48], ecx
mov dword [esp + 0x30], ecx
je 0x5073a9
inc ecx
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x48], ecx
mov edi, dword [ebp + 0xc]
lea eax, [ecx + 1]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0xc]
mov edx, edi
inc eax
add eax, ecx
lea ecx, [esp + 0x64]
mov dword [ebx + 0x48], eax
call fcn.0052a170
test eax, eax
jne 0x507de0
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x5073e2
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x50741a
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0xa
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edi, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [esp + 0x48]
push 4
push 0
push edi
call fcn.004fffa0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x507de0
mov al, byte [ebx + 6]
mov edi, dword [esi + 0xc]
mov byte [esp + 0xf], al
cmp dword [esi + 0x10], edi
jg 0x507454
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x50748c
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x3c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
cmp byte [esp + 0xf], 0
jne 0x5074ed
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x48]
inc eax
mov dword [ecx + 0x48], eax
mov edi, dword [esi + 0xc]
mov dword [esp + 0x5c], eax
cmp dword [esi + 0x10], edi
jg 0x5074b5
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x5074ed
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x68
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, ebx
call fcn.004ff990
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
test byte [eax + 0xc], 0x80
je 0x507561
cmp dword [ebx + 0x1a4], 0
jne 0x507561
mov eax, dword [ebx + 0x48]
inc eax
mov dword [ebx + 0x48], eax
mov edi, dword [esi + 0xc]
mov dword [esp + 0x50], eax
cmp dword [esi + 0x10], edi
jg 0x507529
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507561
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
cmp byte [esp + 0xf], 0
mov edi, dword [esp + 0x18]
jne 0x507581
mov edx, dword [esp + 0x24]
mov ecx, ebx
push 0x27
push edi
push dword [esp + 0x3c]
call fcn.00518410
add esp, 0xc
cmp dword [ebp + 0x10], 5
jne 0x5075e8
mov ecx, 1
mov dword [esp + 0x20], ecx
mov edi, dword [edi + 0x14]
mov dword [esp + 0x2c], edi
test edi, edi
je 0x50772c
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
test ecx, ecx
jne 0x5075bc
cmp dword [eax], ecx
jle 0x50770c
mov edx, edi
mov ecx, ebx
call fcn.0051c570
mov ebx, eax
mov eax, dword [edi + 0x14]
mov edi, dword [esi + 0xc]
mov dword [esp + 0x60], eax
cmp dword [esi + 0x10], edi
jg 0x50761d
mov ecx, esi
call fcn.00536b60
test eax, eax
je 0x50761d
mov edi, 1
jmp 0x507655
mov eax, dword [edi + 0x14]
xor ecx, ecx
mov dword [esp + 0x20], ecx
test eax, eax
je 0x507590
cmp byte [eax + 0x18], 5
je 0x50760b
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x5075f5
mov edi, dword [edi + 0x14]
mov dword [esp + 0x2c], edi
jmp 0x50759f
mov edi, dword [edi + 0x14]
mov ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], edi
jmp 0x50759f
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x34]
mov word [eax + ecx*4], 0x27
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esi + 0x14]
mov ecx, dword [esi]
test edx, edx
je 0x50769b
cmp byte [ecx + 0x1e], 0
jne 0x50769b
test edi, edi
jns 0x50766c
mov edi, dword [esi + 0xc]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.005363f0
mov ecx, dword [esp + 0x24]
add esp, 4
test ebx, ebx
jne 0x507692
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
jmp 0x507708
mov dword [edi + 0x10], ebx
mov byte [edi + 1], 0xfa
jmp 0x507708
test ebx, ebx
je 0x507704
test ecx, ecx
je 0x5076e1
cmp ebx, dword [ecx + 0xf0]
jb 0x5076e1
cmp ebx, dword [ecx + 0xf4]
jae 0x5076e1
mov eax, dword [ecx + 0xec]
mov edx, dword [esp + 0x10]
mov dword [ebx], eax
dec dword [ecx + 0xe4]
mov dword [ecx + 0xec], ebx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edx
jmp 0x507708
push ebx
call fcn.00549d90
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], eax
jmp 0x507708
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov edi, dword [edi + 0x20]
add dword [esp + 0x58], 4
inc dword [esp + 0x54]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x5075b0
cmp byte [esp + 0xf], 0
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
je 0x5077fb
cmp eax, edi
jg 0x507753
mov ecx, esi
call fcn.00536b60
test eax, eax
je 0x507753
mov edi, 1
jmp 0x50778b
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x4a
mov byte [eax + ecx*4 + 3], 0
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 byte [esi + 0x6e], 0
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x34], ebx
cmp dword [esi + 0x10], ebx
jg 0x5077ac
mov ecx, esi
call fcn.00536b60
test eax, eax
je 0x5077ac
mov dword [esp + 0x34], 1
jmp 0x5077e4
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0xc]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
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 byte [esi + 0x6e], 0
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x34]
cmp edx, edi
jle 0x507853
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
jmp 0x507853
mov ebx, edi
mov dword [esp + 0x34], ebx
cmp eax, ebx
jg 0x50781b
mov ecx, esi
call fcn.00536b60
test eax, eax
je 0x50781b
mov ebx, 1
mov dword [esp + 0x34], ebx
jmp 0x507853
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x69
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507866
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x50789a
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x33
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x28], 0
je 0x507921
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, dword [esp + 0x4c]
push edi
call fcn.005249d0
add esp, 4
cmp eax, edi
je 0x5078d6
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x5078d6
push edi
push eax
mov edx, 0xf
call fcn.005369a0
add esp, 8
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x5078e9
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507921
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
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 byte [esi + 0x6e], 0
mov eax, dword [esp + 0x18]
xor edi, edi
cmp dword [eax + 0xc], edi
jle 0x507a4a
cmp edi, dword [eax + 8]
jne 0x507989
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x50794c
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507a38
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0xa
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
jmp 0x507a38
mov eax, dword [esp + 0x38]
mov eax, dword [eax + edi*4]
test eax, eax
jns 0x5079fd
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x5079a7
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x5079ea
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0xc], edx
push edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0x1c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
push edi
mov byte [esi + 0x6e], 0
call fcn.00507ed0
jmp 0x507a35
mov edx, dword [esp + 0x3c]
mov ecx, esi
push edx
mov edx, dword [esp + 0x1c]
push edi
call fcn.00507ed0
jmp 0x507a35
mov ebx, dword [esp + 0x3c]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
push ebx
mov eax, dword [eax + 0xc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x18]
call fcn.005249d0
add esp, 4
cmp eax, ebx
je 0x507a38
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x507a38
push ebx
push eax
mov edx, 0xf
call fcn.005369a0
add esp, 8
mov eax, dword [esp + 0x18]
inc edi
inc dword [esp + 0x3c]
cmp edi, dword [eax + 0xc]
jl 0x507930
mov ebx, dword [esp + 0x34]
xor eax, eax
cmp dword [esp + 0x28], eax
mov edx, dword [esp + 0x18]
cmovne eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push 0
push ebx
push dword [ebp + 0x10]
push 1
push eax
push dword [esp + 0x30]
push dword [esp + 0x58]
push dword [esp + 0x40]
call fcn.00516170
mov edi, dword [esi + 0xc]
add esp, 0x20
cmp dword [esi + 0x10], edi
jg 0x507a98
mov ecx, esi
call fcn.00536b60
test eax, eax
je 0x507a98
mov edi, 1
jmp 0x507ad0
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x33
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
call fcn.0051b220
add esp, 8
cmp dword [esp + 0x28], 0
je 0x507b42
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x60], ecx
cmp dword [esi + 0x10], ecx
jg 0x507b0a
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507b42
mov ecx, dword [esp + 0x60]
mov eax, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0x38
mov byte [eax + ecx*4 + 3], 0
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 byte [esi + 0x6e], 0
mov edx, dword [esi + 0xc]
cmp edx, edi
jle 0x507b53
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [esp + 0x18]
push 0
push 0
push 1
push dword [esp + 0x28]
push dword [esp + 0x50]
push dword [esp + 0x38]
call fcn.00515f00
mov eax, dword [esp + 0x5c]
add esp, 0x18
test byte [eax + 0xc], 0x80
je 0x507bd5
cmp dword [edi + 0x1a4], 0
jne 0x507bd5
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507b9d
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507bd5
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507be8
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507c1c
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esi + 0xc]
cmp edx, ebx
jle 0x507c2d
mov eax, dword [esi + 0x14]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x507cc3
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], edx
test ecx, ecx
jne 0x507c59
cmp dword [edx], ecx
jle 0x507cb0
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507c70
mov ecx, esi
call fcn.00536b60
mov edx, dword [esp + 0x5c]
test eax, eax
jne 0x507ca8
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edi, dword [esp + 0x4c]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
mov ebx, dword [ebx + 0x20]
add edx, 4
inc eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x4c], eax
test ebx, ebx
jne 0x507c51
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507cd6
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507d0e
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
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 byte [esi + 0x6e], 0
mov eax, dword [esp + 0x44]
test byte [eax + 0xc], 0x80
je 0x507ddd
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x1a4], 0
jne 0x507ddd
cmp byte [eax + 0x13], 0
jne 0x507ddd
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0x507d4a
mov ecx, esi
call fcn.00536b60
test eax, eax
jne 0x507d82
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edx, 1
mov ecx, esi
call fcn.005355d0
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x507ddd
mov edi, dword [esi + 0x28]
xor esi, esi
mov eax, dword [edi + 0x10]
test eax, eax
je 0x507dab
mov eax, dword [eax + 0x48]
test eax, eax
js 0x507dbe
jmp 0x507db0
mov eax, 0x3b9aca00
cmp byte [esi + str.rows_updated], 0
je 0x507dbe
inc esi
cmp esi, eax
jle 0x507db0
mov ecx, edi
call fcn.00537f80
mov dword [edi + 0x14], str.rows_updated
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], esi
mov dword [edi + 0x1c], 0x1030a02
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x44]
test esi, esi
je 0x507e1a
test ecx, ecx
je 0x507e1a
cmp ecx, dword [esi + 0xf0]
jb 0x507e1a
cmp ecx, dword [esi + 0xf4]
jae 0x507e1a
mov eax, dword [esi + 0xec]
mov dword [ecx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ecx
jmp 0x507e27
push ecx
call fcn.00549d90
add esp, 4
test esi, esi
je 0x507e51
test ebx, ebx
je 0x507e51
cmp ebx, dword [esi + 0xf0]
jb 0x507e51
cmp ebx, dword [esi + 0xf4]
jae 0x507e51
mov eax, dword [esi + 0xec]
mov dword [ebx], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ebx
jmp 0x507e5a
push ebx
call fcn.00549d90
add esp, 4
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.0051cf40
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.00527810
test edi, edi
je 0x507ebb
mov edx, edi
mov ecx, esi
call fcn.00528ff0
cmp word [edi + 2], 0
jl 0x507ebb
test esi, esi
je 0x507eb2
cmp edi, dword [esi + 0xf0]
jb 0x507eb2
cmp edi, dword [esi + 0xf4]
jae 0x507eb2
mov eax, dword [esi + 0xec]
mov dword [edi], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.00549d90
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret