Function at 0x535890
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x661204]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
mov ecx, dword [ebx]
mov esi, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [ebp - 0xdc], ebx
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xd4], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xd0], ecx
mov byte [ebp - 0xf9], 0
mov dword [ebp - 0x114], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xf0], al
xor eax, eax
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x104], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x108], eax
call fcn.00535830
add esp, 4
cmp dword [ebx + 0x5c], 7
je 0x53bea6
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x14], 0
mov ebx, dword [ebp - 0xd0]
cmp dword [ebx + 0xe0], 0
mov dword [ebx + 0x1b4], 0
jne 0x53be6f
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0xe4], edx
mov ebx, dword [eax + 0x58]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], ebx
nop word [eax + eax]
cmp byte [ecx + 0x1e], 0
jne 0x53a34f
lea edi, [ebx + ebx*4]
test edx, edx
je 0x5359cf
mov eax, dword [ebp - 0x114]
cmp dword [ecx + 0x11c], eax
jne 0x5359c8
push dword [ecx + 0x118]
mov eax, dword [ecx + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x53ba70
inc eax
mov dword [ebp - 0x114], eax
test byte [esi + edi*4 + 2], 2
je 0x535a11
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xec], edx
test word [edx + 0x1c], ax
je 0x535a06
push edx
call fcn.0053dd70
mov edx, dword [ebp - 0xec]
add esp, 4
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x535a17
mov edx, dword [ebp - 0xec]
movzx eax, byte [esi + edi*4]
dec eax
cmp eax, 0x93
ja case.0x535a27.17
jmp dword [eax*4 + 0x53bf54]
mov ebx, dword [ebp - 0xd0]
cmp dword [ebx + 0xe0], 0
jne 0x53be6f
mov ebx, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov ecx, dword [esi + edi*4 + 4]
mov eax, 4
mov ebx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [ebx + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [ebx + ecx*8 + 0x10], eax
mov ebx, dword [esi + edi*4 + 8]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8 + 0x10]
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 0x1c], ax
mov eax, dword [edi + ecx*8 + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [edi + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [edi + ecx*8 + 0x10], eax
mov ebx, dword [ebp - 0xcc]
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x535a27.17
cmp dword [esi + edi*4 + 4], 0
mov ebx, dword [ebp - 0xdc]
jne 0x53ba7a
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x53ba7a
mov eax, dword [ecx + 0x44]
mov edx, dword [ebp - 0xd0]
dec dword [ebx + 0xb0]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebx + 0x6c]
add dword [edx + 0x40], eax
push ecx
mov dword [edx + 0x3c], eax
call fcn.0053c640
mov ecx, dword [ebp - 0xd0]
mov ebx, eax
mov edx, dword [ebp - 0xdc]
add esp, 4
cmp dword [esi + edi*4 + 8], 4
mov dword [ebp - 0xd8], ebx
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x104], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x108], eax
jne 0x535b82
mov eax, dword [edx + 4]
mov edi, ebx
lea ecx, [edi + edi*4]
mov ebx, dword [eax + ecx*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov esi, dword [edx + 4]
inc ebx
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xe8], eax
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
inc ebx
mov ecx, dword [ebp - 0xec]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
jmp 0x53597e
mov ecx, dword [esi + edi*4 + 0x10]
inc ebx
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov eax, 8
inc ebx
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov edx, dword [esi + edi*4 + 0x10]
push edx
mov byte [esi + edi*4], 9
call fcn.00530f00
add esp, 4
mov dword [esi + edi*4 + 4], eax
cmp byte [ebp - 0xf0], 1
je 0x535cb1
push 0
push 1
push 0xffffffffffffffff
push edx
push dword [ebp - 0xec]
call fcn.0053e030
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x53677c
movzx ecx, byte [ebp - 0xf0]
push ecx
push dword [ebp - 0xec]
call fcn.00535160
add esp, 8
test eax, eax
jne 0x53bb3c
mov ecx, dword [ebp - 0xec]
mov edx, 0xfbff
mov dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [esi + edi*4 + 1], 0xff
jne 0x535c9e
push dword [esi + edi*4 + 0x10]
push dword [ebp - 0xd0]
call fcn.00518300
mov ecx, dword [ebp - 0xec]
add esp, 8
mov byte [esi + edi*4 + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [esi + edi*4 + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + edi*4 + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [esi + edi*4 + 4]
cmp eax, dword [ecx + 0x48]
jg 0x53677c
mov ecx, dword [ebp - 0xec]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esi + edi*4 + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [ecx + 0x1f], al
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 0xc]
sub eax, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xcc], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xcc], 0
jle 0x535d58
mov esi, eax
nop word [eax + eax]
add edi, 0x28
mov eax, 0x2460
test word [edi + 0x1c], ax
je 0x535d37
push edi
call fcn.0053dd70
add esp, 4
mov word [edi + 0x1c], si
mov eax, dword [ebp - 0xcc]
dec eax
mov dword [ebp - 0xcc], eax
test eax, eax
jg 0x535d20
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xec], edi
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
push 0
push 0
push dword [esi + edi*4 + 4]
push dword [esi + edi*4 + 0x10]
push edx
call fcn.0053e030
mov eax, dword [ebp - 0xec]
add esp, 0x14
mov cl, byte [ebp - 0xf0]
inc ebx
mov edx, dword [ebp - 0xe4]
mov byte [eax + 0x1f], cl
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xdc]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + ecx*8]
push esi
mov dword [ebp - 0xcc], esi
call fcn.0053e3d0
add esp, 4
test eax, eax
jne 0x53677c
push 0x800
push esi
push dword [ebp - 0xec]
call fcn.0053e290
mov esi, dword [ebp - 0xe0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
mov edx, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc8], edx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xc0], ecx
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xec], edi
test edx, edx
je 0x535e61
dec edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0x24]
push esi
mov dword [ebp - 0xcc], eax
push edi
mov dword [edi + 0x24], 0
call fcn.0053db50
mov eax, dword [ebp - 0xcc]
add esp, 8
mov dword [esi + 0x24], eax
add edi, 0x28
mov edx, dword [ebp - 0xc8]
add esi, 0x28
test edx, edx
jne 0x535e21
mov dword [ebp - 0xec], edi
mov esi, dword [ebp - 0xe0]
dec edx
mov dword [ebp - 0xc8], edx
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xec]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
push edi
call fcn.0053e290
mov eax, 0x1000
add esp, 0xc
test word [edi + 0x1c], ax
je 0x538c46
push edi
call fcn.0053dae0
mov ecx, dword [ebp - 0xd0]
add esp, 4
test eax, eax
jne 0x53a34f
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xec], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
push ecx
call fcn.0053e290
mov edx, dword [ebp - 0xe4]
add esp, 0xc
inc ebx
jmp 0x53597e
push 0
push dword [ebp - 0xdc]
call fcn.005353c0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne case.0x535a27.17
push 1
push dword [ebp - 0xdc]
call fcn.00535420
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne case.0x535a27.17
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebx + 0x54]
add eax, 2
or eax, 1
mov dword [ebx + 0x54], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
xor ecx, ecx
mov dword [ebx + 0x14], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], ecx
cmp dword [esi + edi*4 + 8], ecx
jle 0x53bb09
nop dword [eax]
lea eax, [ecx + ecx*4]
mov ebx, 0x1000
test word [edx + eax*8 + 0x1c], bx
lea eax, [edx + eax*8]
mov ebx, dword [ebp - 0xdc]
je 0x535fd5
push eax
call fcn.0053dae0
add esp, 4
test eax, eax
jne 0x53bea6
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
push eax
call fcn.0053dbd0
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xcc]
lea eax, [eax + ecx*8]
push eax
call fcn.0053e2f0
mov ecx, dword [ebp - 0xc8]
add esp, 8
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [esi + edi*4 + 8]
jge 0x53bb09
mov edx, dword [ebp - 0xcc]
jmp 0x535fa0
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xec], edi
test al, 1
je 0x536079
push edi
call fcn.0053df10
mov ebx, dword [ebp - 0xd8]
add esp, 4
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
test ecx, 0x4000
je 0x536092
push ebx
call fcn.0053d660
add esp, 4
test eax, eax
jne 0x53bb3c
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x5360ae
push esi
call fcn.0053d660
add esp, 4
test eax, eax
jne 0x53bb3c
test byte [ebx + 0x1c], 0x12
jne 0x5360cd
movzx eax, byte [ebp - 0xf0]
push eax
push ebx
call fcn.0053e330
add esp, 8
test eax, eax
jne 0x53bb3c
test byte [esi + 0x1c], 0x12
jne 0x5360ec
movzx eax, byte [ebp - 0xf0]
push eax
push esi
call fcn.0053e330
add esp, 8
test eax, eax
jne 0x53bb3c
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x53677c
jl 0x53611f
cmp edi, eax
ja 0x53677c
mov edi, dword [ebp - 0xec]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, esi
sete al
push eax
mov eax, dword [ebp - 0xcc]
add eax, 2
push eax
push edi
call fcn.0053d900
add esp, 0xc
test eax, eax
jne 0x53bb3c
cmp edi, esi
je 0x536171
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.005b96a0
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
add eax, dword [edi + 4]
push eax
call fcn.005b96a0
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe4]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
inc ebx
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [edi + 0x1f], al
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
push esi
call fcn.004e49b0
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
push ebx
call fcn.004e49b0
mov eax, dword [ebp - 0xe0]
add esp, 8
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xec], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xcc], ecx
test cl, 1
jne 0x53651b
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x5362a8
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc4], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe0]
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x536288
jmp dword [eax*4 + 0x53c1a4]
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.0050f900
add esp, 0xc
test eax, eax
je 0x536397
push esi
call fcn.0053e950
fstp qword [ebp - 0xb4]
push ebx
call fcn.0053e950
mov esi, dword [ebp - 0xe0]
add esp, 8
fstp qword [ebp - 0xac]
movzx eax, byte [esi + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x5362d9
jmp dword [eax*4 + 0x53c1b4]
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00530f30
add esp, 0xc
test eax, eax
jne 0x5362a8
jmp 0x536397
push edx
push ecx
lea eax, [ebp - 0xbc]
push eax
call fcn.00526f90
add esp, 0xc
test eax, eax
jne 0x5362a8
jmp 0x536397
mov eax, ecx
or eax, edx
je 0x53651b
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xf4]
jne 0x536341
test eax, eax
jne 0x536341
cmp dword [ebp - 0x100], 0x80000000
je 0x5362a8
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.0054d220
jmp 0x53638b
mov eax, ecx
or eax, edx
je 0x53651b
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x536377
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xf4]
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.0054d3f0
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xec]
mov edx, 0xbf04
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xe4]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x53597e
movsd xmm0, qword [ebp - 0xac]
addsd xmm0, qword [ebp - 0xb4]
jmp 0x5364b4
movsd xmm0, qword [ebp - 0xac]
subsd xmm0, qword [ebp - 0xb4]
jmp 0x5364b4
movsd xmm0, qword [ebp - 0xac]
mulsd xmm0, qword [ebp - 0xb4]
jmp 0x5364b4
movsd xmm1, qword [ebp - 0xb4]
ucomisd xmm1, qword [0x5eb990]
lahf
test ah, 0x44
jnp 0x53651b
movsd xmm0, qword [ebp - 0xac]
divsd xmm0, xmm1
jmp 0x5364b4
movsd xmm0, qword [ebp - 0xb4]
call fcn.0054cecf
movsd xmm0, qword [ebp - 0xac]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], edi
call fcn.0054cecf
mov ecx, esi
mov dword [ebp - 0xbc], eax
or ecx, edi
mov dword [ebp - 0xb8], edx
je 0x53651b
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x53649e
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], edi
push edi
push esi
push edx
push eax
call fcn.0054d3f0
mov ecx, eax
call fcn.0054d020
mov esi, dword [ebp - 0xe0]
sub esp, 8
movsd qword [ebp - 0xac], xmm0
movsd qword [esp], xmm0
call fcn.00525f10
add esp, 8
test eax, eax
jne 0x53651b
mov edi, dword [ebp - 0xec]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xac]
mov ax, word [edi + 0x1c]
and ax, cx
movsd qword [edi + 8], xmm0
or ax, 8
mov word [edi + 0x1c], ax
test byte [ebp - 0xcc], 8
jne 0x536509
push edi
call fcn.0053cd50
add esp, 4
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
push dword [ebp - 0xec]
jmp 0x536059
movzx ecx, byte [esi + edi*4 + 3]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x80], ecx
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x84], esi
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x5365de
mov dword [esi + eax*4], edx
mov ecx, 0x1000
mov eax, dword [ebp - 0xc8]
test word [eax + 0x1c], cx
je 0x5365ac
push eax
call fcn.0053dae0
add esp, 4
test eax, eax
jne 0x53bb3c
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0053e2f0
mov eax, dword [ebp - 0xcc]
add esp, 4
mov edx, dword [ebp - 0xc8]
inc eax
add edx, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
cmp eax, dword [ebp - 0x80]
jge 0x5365de
mov esi, dword [ebp - 0x84]
jmp 0x536581
mov esi, dword [ebp - 0xe0]
cmp byte [esi + edi*4 + 1], 0xfb
mov eax, dword [esi + edi*4 + 0x10]
jne 0x5365fb
mov dword [ebp - 0xc0], 0
jmp 0x536603
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
push dword [ebp - 0xec]
mov dword [ebp - 0xc4], eax
mov eax, 1
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xbc]
push eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
call fcn.0053db50
mov eax, dword [ebp - 0xa0]
add esp, 8
and eax, 0xbf01
mov dword [ebp - 0x90], 0
or eax, 1
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xc4]
test byte [eax + 3], 8
je 0x53667f
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x34], ecx
lea eax, [ebp - 0xc4]
push dword [ebp - 0x84]
push dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x104], ecx
test eax, eax
je 0x5366f3
push dword [esi + edi*4 + 4]
push eax
call fcn.00535680
mov eax, dword [ebp - 0xc0]
add esp, 8
mov dword [esi + edi*4 + 0x10], eax
mov byte [esi + edi*4 + 1], 0xf9
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
jne 0x53bb2d
cmp dword [ebp - 0x90], 0
je 0x536744
lea eax, [ebp - 0xbc]
push 1
push eax
call fcn.00534ba0
push eax
mov eax, dword [ebp - 0xdc]
push 0x5ed04c
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
mov eax, dword [ebp - 0x90]
add esp, 0x18
mov dword [ebp - 0xd4], eax
movzx eax, byte [ebp - 0xf0]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00535160
mov edi, dword [ebp - 0xec]
lea eax, [ebp - 0xbc]
push eax
push edi
call fcn.0053db50
push edi
call fcn.0053e3d0
add esp, 0x14
test eax, eax
je case.0x535a27.17
mov eax, dword [ebp - 0xdc]
push str.string_or_blob_too_big
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
add esp, 0xc
mov ebx, 0x12
jmp 0x53beb7
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xec], edx
test al, 1
je 0x5367fe
push edx
call fcn.0053df10
mov esi, dword [ebp - 0xe0]
add esp, 4
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
push ecx
call fcn.0053ccb0
push esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
call fcn.0053ccb0
mov esi, eax
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xe0]
add esp, 8
mov dword [ebp - 0xbc], esi
mov cl, byte [eax + edi*4]
mov byte [ebp - 0xb4], cl
cmp cl, 0x52
jne 0x536854
mov ecx, dword [ebp - 0xcc]
and ecx, esi
and dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], ecx
jmp 0x5369be
cmp cl, 0x53
jne 0x536872
mov ecx, dword [ebp - 0xcc]
or ecx, esi
or dword [ebp - 0xc8], edx
mov dword [ebp - 0xcc], ecx
jmp 0x5369be
mov eax, esi
or eax, edx
je 0x5369b8
test edx, edx
jg 0x5368bc
jl 0x536886
test esi, esi
jae 0x5368b1
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xb4], cl
cmp edx, 0xffffffff
jl 0x5368eb
jg 0x53689e
cmp esi, 0xffffffc0
jbe 0x5368eb
neg esi
mov dword [ebp - 0xbc], esi
adc edx, 0
neg edx
mov dword [ebp - 0xb8], edx
test edx, edx
jl 0x536929
jg 0x5368bc
cmp esi, 0x40
jb 0x536929
cmp dword [ebp - 0xc8], 0
jg 0x536901
jl 0x5368d0
cmp dword [ebp - 0xcc], 0
jae 0x536901
cmp cl, 0x54
je 0x536901
or ecx, 0xffffffff
or eax, ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x5369be
mov dword [ebp - 0xbc], 0x40
mov dword [ebp - 0xb8], 0
jmp 0x5368bc
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x5369be
movq xmm1, qword [ebp - 0xcc]
movd xmm0, esi
cmp cl, 0x54
jne 0x536960
psllq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x5369be
cmp dword [ebp - 0xc8], 0
psrlq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
jg 0x53699e
jl 0x536980
cmp dword [ebp - 0xcc], 0
jae 0x53699e
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.0054d4b0
or dword [ebp - 0xc4], eax
or dword [ebp - 0xc0], edx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
jmp 0x5369be
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov dword [edx + 0x10], ecx
mov ecx, 0xbf04
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x14], eax
mov ax, word [edx + 0x1c]
and ax, cx
or ax, 4
inc ebx
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0053dab0
mov eax, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [eax + edi*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
inc ebx
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004e49b0
add esp, 4
test byte [esi + 0x1c], 8
je 0x536a5a
push esi
call fcn.0053cd50
add esp, 4
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x536a81
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + edi*4 + 8]
test eax, eax
je 0x53bb47
mov edx, dword [ebp - 0xe4]
mov ebx, eax
jmp 0x53597e
mov edx, dword [ebp - 0xe4]
and eax, 0xbf04
or eax, 4
inc ebx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea eax, [ecx + eax*8]
je 0x53606d
push eax
call fcn.0053dcb0
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x536b58
shr eax, 3
and eax, 2
or word [esi + 0x1c], ax
mov ax, word [esi + 0x1c]
test al, 2
jne 0x536b0e
test al, 0xc
je 0x536b0e
movzx eax, byte [ebp - 0xf0]
push eax
push esi
call fcn.0053e330
add esp, 8
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x536b45
push esi
call fcn.0053d660
mov dword [ebp - 0xd4], eax
add esp, 4
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.0x535a27.17
mov eax, 0xbfe3
mov dword [ebp - 0xd4], 0
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x536b58
test al, 0x10
jne 0x536bbe
test al, 2
jne 0x536b98
test al, 0xc
je 0x536b98
movzx eax, byte [ebp - 0xf0]
push eax
push esi
call fcn.0053e330
add esp, 8
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
mov edx, dword [ebp - 0xe4]
and ax, cx
or ax, 0x10
inc ebx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp 0x53597e
mov edx, dword [ebp - 0xe4]
and eax, 0xff10
mov word [esi + 0x1c], ax
inc ebx
mov esi, dword [ebp - 0xe0]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0053dc30
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne 0x53606d
push eax
call fcn.0053dab0
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne 0x53606d
push eax
call fcn.0053dcb0
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xc6], ax
movzx eax, word [ebx + 0x1c]
mov word [ebp - 0xc4], ax
or al, byte [ebp - 0xc6]
test al, 1
mov al, byte [ecx + edi*4 + 3]
je 0x536d15
test al, al
jns 0x536cbc
mov edx, dword [ebp - 0xc4]
and edx, dword [ebp - 0xc6]
not edx
and edx, 1
jmp 0x536d9a
mov esi, dword [ebp - 0xe0]
test al, 0x10
je 0x536cfc
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xe4]
or ax, 1
mov word [ecx + 0x1c], ax
inc ebx
jmp 0x53597e
test al, 8
je 0x536509
mov ebx, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
dec ebx
inc ebx
jmp 0x53597e
and al, 0x67
mov byte [ebp - 0xc8], al
je 0x536d56
push dword [ebp - 0xf0]
push dword [ebp - 0xc8]
push esi
call fcn.004e4950
push dword [ebp - 0xf0]
push dword [ebp - 0xc8]
push ebx
call fcn.004e4950
mov ecx, dword [ebp - 0xd0]
add esp, 0x18
cmp byte [ecx + 0x1e], 0
jne 0x53a34f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x536d6f
push esi
call fcn.0053d660
add esp, 4
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x536d7e
push ebx
call fcn.0053d660
add esp, 4
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*4 + 0x10]
push esi
push ebx
call fcn.00526ac0
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov edx, eax
mov dword [ebp - 0xcc], edx
movzx ecx, byte [ecx + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x536dac
jmp dword [ecx*4 + 0x53c1c4]
xor eax, eax
test edx, edx
sete al
jmp 0x536de7
xor eax, eax
test edx, edx
setne al
jmp 0x536de7
xor eax, eax
test edx, edx
sets al
jmp 0x536de7
xor eax, eax
test edx, edx
setle al
jmp 0x536de7
xor eax, eax
test edx, edx
setg al
jmp 0x536de7
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x536e5b
mov eax, dword [ecx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbf04
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0xec], edi
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [edi + 0x10], eax
mov al, byte [ebp - 0xc6]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc4]
mov esi, dword [ebp - 0xe0]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd8]
inc ebx
jmp 0x53597e
test eax, eax
je 0x536e6a
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xc6]
mov edx, dword [ebp - 0xe4]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc4]
mov esi, dword [ebp - 0xe0]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd8]
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 0x10]
inc ebx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x10c], eax
jmp 0x53597e
mov eax, dword [esi + edi*4 + 0xc]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov ebx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xbc], ebx
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc4], ecx
mov edi, dword [esi + edi*4 + 8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc8], edx
test eax, eax
jle 0x536f9b
nop dword [eax + eax]
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x536eff
mov esi, dword [eax + edx*4]
jmp 0x536f01
mov esi, edx
mov dword [ebp - 0xb8], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xb0], eax
lea eax, [esi + edi]
mov edi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0xf4]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
push eax
call fcn.00526ac0
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x110], edi
test edi, edi
jne 0x536f84
mov edx, dword [ebp - 0xc8]
inc edx
mov dword [ebp - 0xc8], edx
cmp edx, dword [ebp - 0xcc]
jge 0x536f95
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0xf4], ecx
jmp 0x536ef0
cmp dword [ebp - 0xb0], 0
je 0x536f95
neg edi
mov dword [ebp - 0x110], edi
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd8]
xor eax, eax
mov edx, dword [ebp - 0xe4]
inc ebx
mov dword [ebp - 0x10c], eax
jmp 0x53597e
mov eax, dword [ebp - 0x110]
test eax, eax
jns 0x536fce
mov ebx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
jne 0x536fdf
mov ebx, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov ebx, dword [esi + edi*4 + 0xc]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x53700c
mov ecx, 2
jmp 0x537028
push eax
call fcn.0053ccb0
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xe8]
je 0x537026
mov ecx, 1
jmp 0x537028
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x537046
mov eax, 2
jmp 0x537068
push eax
call fcn.0053ccb0
mov ecx, dword [ebp - 0xcc]
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xe8]
je 0x537066
mov eax, 1
jmp 0x537068
xor eax, eax
mov dword [ebp - 0xc8], eax
lea eax, [eax + ecx*2]
cmp byte [esi + edi*4], 0x45
jne 0x537081
movzx ecx, byte [ecx + eax + 0x5f0690]
jmp 0x537089
movzx ecx, byte [ecx + eax + 0x5f069c]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
cmp ecx, 2
jne 0x5370c4
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
mov edx, dword [ebp - 0xe4]
and ax, cx
or ax, 1
inc ebx
mov word [edi + 0x1c], ax
jmp 0x53597e
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xe4]
or ax, 4
mov word [edi + 0x1c], ax
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
je 0x537129
push edi
call fcn.0053df10
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
push ecx
call fcn.0053ccb0
add esp, 4
or eax, edx
jne 0x537152
push eax
mov ecx, 1
push ecx
push edi
call fcn.0053deb0
mov edx, dword [ebp - 0xe4]
add esp, 0xc
inc ebx
jmp 0x53597e
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
push eax
push ecx
push edi
call fcn.0053deb0
mov edx, dword [ebp - 0xe4]
add esp, 0xc
inc ebx
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
je 0x5371bc
push edi
call fcn.0053df10
mov edx, dword [ebp - 0xe4]
add esp, 4
inc ebx
jmp 0x53597e
push ecx
call fcn.0053ccb0
not edx
not eax
push edx
push eax
push edi
call fcn.0053deb0
mov edx, dword [ebp - 0xe4]
add esp, 0x10
inc ebx
jmp 0x53597e
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0xc0]
cmp byte [eax + ecx], 0
je 0x537202
mov ebx, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
jmp 0x53597e
mov edx, dword [ebp - 0xe4]
inc ebx
mov byte [eax + ecx], 1
jmp 0x53597e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x53723a
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
mov dword [ebp - 0xcc], ecx
jmp 0x538c3f
push eax
call fcn.0053e950
fstp qword [ebp - 0xf8]
movsd xmm0, qword [ebp - 0xf8]
add esp, 4
ucomisd xmm0, qword [0x5eb990]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
mov dword [ebp - 0xcc], ecx
cmp byte [esi + edi*4], 0x1c
jne 0x537282
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jmp 0x538c3f
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x538c3f
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov ecx, dword [esi + edi*4 + 4]
xorps xmm0, xmm0
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0
movups xmmword [ebp - 0x8c], xmm0
movups xmmword [ebp - 0x7c], xmm0
movq qword [ebp - 0x6c], xmm0
mov eax, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xb0], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], edx
mov eax, dword [edx]
mov dword [ebp - 0xac], eax
test eax, eax
je 0x5373cd
push edx
call fcn.00535590
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx + 0x1c], al
jne 0x5378b4
mov edx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x54]
jne 0x53738d
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0xb0], eax
jmp 0x53741c
cmp byte [ecx + 0x1f], 0
je 0x5373b6
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xac]
call fcn.00514380
mov edx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xcc], edx
jmp 0x537416
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0xac]
call fcn.00513560
add esp, 8
jmp 0x537410
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x5378b4
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x48], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0], eax
test byte [esi + edi*4 + 3], 0x20
je 0x537404
xor eax, eax
jmp 0x53740d
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x50], eax
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb4]
test edx, edx
je 0x5378be
mov eax, dword [ebp - 0xd0]
cmp edx, dword [eax + 0x48]
ja 0x53677c
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0xa0], esi
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xa8], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [esi + 0x54]
mov esi, dword [ebp - 0xf4]
jne 0x53746d
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0xa4], eax
jmp 0x5376c6
lea eax, [edx + esi*4]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xa4], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x5374b3
mov dword [ebp - 0x94], ecx
jmp 0x537509
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x1f], 0
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0xac]
je 0x5374d0
call fcn.00514310
jmp 0x5374d5
call fcn.00513540
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x94], ecx
ja 0x5374fc
mov dword [ebp - 0xb0], ecx
mov dword [eax + 0x60], ecx
jmp 0x537503
mov dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x94]
mov al, byte [ecx]
cmp al, 0x80
jae 0x53751c
movzx edx, al
mov eax, 1
mov dword [ebp - 0x5c], edx
jmp 0x537535
lea eax, [ebp - 0x5c]
push eax
push ecx
call fcn.00523ba0
mov edx, dword [ebp - 0x5c]
add esp, 8
mov ecx, dword [ebp - 0x94]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x54], eax
cmp edx, 0x18003
jbe 0x537561
push 0x105d9
call fcn.00517320
mov esi, dword [ebp - 0xe0]
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
mov ebx, dword [ebp - 0xa0]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xb0], 0
mov dword [ebp - 0x9c], esi
jne 0x5375e3
cmp dword [ebp - 0x50], esi
jge 0x5375e3
xor eax, eax
mov word [ebp - 0x70], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x1f]
push eax
push esi
push 0
push dword [ebp - 0xac]
call fcn.0053d750
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x5378a3
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x94], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x54]
add esi, ecx
mov dword [ebp - 0x60], eax
xor ecx, ecx
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x98], ecx
test ebx, ebx
jle 0x537671
nop dword [eax]
cmp esi, eax
mov eax, dword [ebp - 0xa4]
jae 0x537724
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x64]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x537627
movzx edx, cl
inc eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x64], eax
jmp 0x53763d
lea ecx, [ebp - 0x4c]
push ecx
push eax
call fcn.00523ba0
mov edx, dword [ebp - 0x4c]
add esp, 8
movzx eax, al
add dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x98]
mov dword [eax + ecx*4], edx
push dword [ebp - 0x4c]
call fcn.0053f280
mov edx, dword [ebp - 0x5c]
add esp, 4
add edx, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], edx
cmp edx, eax
jae 0x53772e
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0053dd30
mov edx, dword [ebp - 0x64]
add esp, 4
mov esi, dword [ebp - 0x60]
mov eax, 1
mov word [ebp - 0x70], ax
cmp edx, esi
ja 0x537890
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xcc]
cmp eax, ecx
ja 0x537890
cmp edx, esi
jne 0x5376b4
cmp eax, ecx
jne 0x537890
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xb8]
cmp dword [eax + ecx*4], 0
je 0x5377f8
cmp dword [ebp - 0xb0], 0
je 0x537752
mov esi, dword [ebp - 0x90]
mov edi, 0x2460
test word [esi + 0x1c], di
je 0x537711
push esi
call fcn.0053dd70
mov esi, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + ecx*4]
add eax, dword [ebp - 0xb0]
push esi
push dword [edx + ecx*4]
push eax
jmp 0x5377d9
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x98]
inc ecx
mov dword [ebp - 0x98], ecx
cmp ecx, dword [ebp - 0xa0]
jge 0x537671
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
jmp 0x537600
push dword [edx + ecx*4]
call fcn.0053f280
push dword [ebp - 0x90]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0053db50
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0x9c]
push dword [ecx + eax*4]
push dword [ebp - 0xac]
call fcn.0053d750
mov ecx, eax
add esp, 0x20
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x536b58
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x94], edx
push dword [ecx + eax*4]
push edx
call fcn.0053ee30
mov eax, dword [ebp - 0x90]
add esp, 0xc
mov cl, byte [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
mov byte [eax + 0x1f], cl
jmp 0x537838
mov esi, dword [ebp - 0xe0]
cmp byte [esi + edi*4 + 1], 0xf8
jne 0x53781e
push 0x800
push dword [esi + edi*4 + 0x10]
push dword [ebp - 0x90]
call fcn.0053e290
add esp, 0xc
jmp 0x537838
mov ecx, dword [ebp - 0x90]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x68], 0
je 0x537877
mov eax, dword [ebp - 0x90]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x90]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x24], ecx
push dword [ebp - 0x90]
call fcn.0053dae0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
push 0x10629
call fcn.00517320
add esp, 4
mov dword [ebp - 0xd4], eax
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
jmp case.0x535a27.17
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0x90]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xe4]
or ax, 1
inc ebx
mov word [ecx + 0x1c], ax
mov ecx, dword [ebp - 0xd0]
jmp 0x535984
mov ecx, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xc8], al
test al, al
je 0x537955
inc ecx
mov eax, 0x4000
mov dword [ebp - 0xcc], ecx
test word [esi + 0x1c], ax
je 0x53792b
push esi
call fcn.0053d660
add esp, 4
push dword [ebp - 0xf0]
push dword [ebp - 0xc8]
push esi
call fcn.004e4950
mov ecx, dword [ebp - 0xcc]
add esp, 0xc
add esi, 0x28
mov al, byte [ecx]
mov byte [ebp - 0xc8], al
test al, al
jne 0x537910
mov esi, dword [ebp - 0xe0]
inc ecx
mov edx, dword [ebp - 0xe4]
inc ebx
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xd0]
jmp 0x535984
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0xbc], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xac], ebx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x98], eax
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x94], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa0], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x98], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
add ecx, 0xffffffd8
mov dword [ebp - 0x9c], ecx
movzx eax, byte [eax + 0x65]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa0]
mov esi, eax
mov dword [ebp - 0xc8], esi
cmp eax, ecx
ja 0x537b0d
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x537a5b
push dword [ebp - 0xf0]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.004e4950
mov ecx, dword [ebp - 0x94]
add esp, 0xc
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x537a8d
cmp dword [esi + 0x18], 0
jle 0x537a8d
push esi
call fcn.0053d660
mov ecx, dword [ebp - 0x94]
add esp, 4
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], ecx
push dword [ebp - 0x90]
push esi
call fcn.0053f180
mov ecx, eax
push ecx
mov dword [ebp - 0xa4], ecx
call fcn.0053f280
mov edi, eax
cdq
add dword [ebp - 0xc4], eax
push 0
adc dword [ebp - 0xc0], edx
push ecx
mov dword [ebp - 0x88], edi
call fcn.00534c50
mov edx, dword [ebp - 0xbc]
add esp, 0x14
add edx, eax
mov eax, 0x4000
mov dword [ebp - 0xbc], edx
test word [esi + 0x1c], ax
je 0x537ae5
add ebx, dword [esi + 0x10]
jmp 0x537aec
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0xa0]
add esi, 0x28
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xc8], esi
cmp esi, dword [ebp - 0x9c]
jbe 0x537a10
mov eax, edx
cdq
push edx
push eax
call fcn.00534c50
mov edi, dword [ebp - 0xbc]
mov esi, eax
add edi, esi
mov dword [ebp - 0xa8], esi
mov eax, edi
mov dword [ebp - 0xbc], edi
cdq
push edx
push eax
call fcn.00534c50
add esp, 0x10
cmp esi, eax
jge 0x537b45
inc edi
mov dword [ebp - 0xbc], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [ebp - 0xd0]
sub ebx, ecx
sbb edi, esi
add ebx, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], ebx
adc edi, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], edi
mov eax, dword [eax + 0x48]
cdq
cmp edi, edx
jg 0x53677c
jl 0x537b8b
cmp ebx, eax
ja 0x53677c
mov edi, dword [ebp - 0xec]
push 0
push ebx
push edi
call fcn.0053d900
add esp, 0xc
test eax, eax
jne 0x53bb3c
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xcc], ecx
cmp eax, 0x80
jae 0x537bc4
mov byte [ecx], al
mov eax, 1
jmp 0x537bce
push eax
push ecx
call fcn.0052c3b0
add esp, 8
mov ecx, dword [ebp - 0x9c]
movzx esi, al
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, ecx
ja 0x537c60
nop dword [eax]
push dword [ebp - 0x90]
push eax
call fcn.0053f180
add esp, 8
mov dword [ebp - 0xa4], eax
cmp eax, 0x80
jae 0x537c1e
mov cl, al
mov eax, dword [ebp - 0xcc]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x537c30
push eax
mov eax, dword [ebp - 0xcc]
add eax, esi
push eax
call fcn.0052c3b0
add esp, 8
mov esi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x9c]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xc8]
add eax, 0x28
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, ecx
jbe 0x537bf0
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xc8], eax
cmp eax, ecx
ja 0x537cb6
nop word [eax + eax]
push dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xb4]
sub eax, esi
push eax
mov eax, dword [ebp - 0xcc]
add eax, esi
push eax
call fcn.0053f0d0
mov esi, dword [ebp - 0x8c]
add esp, 0x10
add esi, eax
mov eax, dword [ebp - 0xc8]
add eax, 0x28
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x9c]
jbe 0x537c70
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x537ce5
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov byte [edi + 0x1f], 1
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x537d56
lea ecx, [ebp - 0xcc]
push ecx
push eax
call fcn.005131c0
mov ecx, dword [ebp - 0xec]
add esp, 8
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
mov ecx, dword [ebp - 0xec]
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
mov ebx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xcc], ebx
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc8], eax
test ebx, ebx
jne 0x537e92
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 0x90], ebx
jg 0x53bb51
push eax
call fcn.00530f00
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + 0x1e4]
add eax, dword [edx + 0x1e0]
push eax
push ebx
push edx
call fcn.005405a0
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x53bc15
mov eax, dword [ebp - 0xc4]
add eax, 0x19
push eax
push dword [ebp - 0xd0]
call fcn.00518390
add esp, 8
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x537e80
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc4]
inc eax
push eax
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
push dword [eax]
call fcn.005b96a0
mov eax, dword [ebp - 0xd0]
add esp, 0xc
cmp byte [eax + 0x1c], bl
je 0x537e41
mov byte [eax + 0x1c], bl
mov byte [eax + 0x1e8], 1
jmp 0x537e47
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1dc]
mov eax, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x1dc], eax
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebx + 0x1f0]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x1f4]
mov dword [ecx + 0xc], eax
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x53597e
mov ecx, dword [ebp - 0xd0]
xor edi, edi
mov dword [ebp - 0xb4], edi
mov esi, dword [ecx + 0x1dc]
mov dword [ebp - 0xbc], esi
push eax
test esi, esi
je 0x53bb94
push dword [esi]
call fcn.00530eb0
add esp, 8
test eax, eax
je 0x537ed5
mov eax, dword [ebp - 0xf4]
inc edi
mov dword [ebp - 0xb4], edi
mov esi, dword [esi + 0x10]
jmp 0x537ea6
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 0x90], 0
jg 0x538131
cmp ebx, 2
jne 0x537efa
cmp dword [edx + 0x8c], 1
jg 0x538131
cmp dword [esi + 0x10], 0
jne 0x538013
cmp byte [edx + 0x1e8], 0
je 0x538013
mov dword [ebp - 0xf4], 1
cmp ebx, 1
jne 0x53801d
push ebx
mov ebx, dword [ebp - 0xdc]
push ebx
call fcn.005353c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x53bf1e
mov esi, dword [ebp - 0xd0]
push ebx
mov byte [esi + 0x1c], 1
call fcn.0053c7b0
add esp, 4
cmp eax, 5
je 0x53bb7a
mov byte [esi + 0x1e8], 0
mov eax, dword [ebx + 0x5c]
mov esi, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x1dc], esi
je 0x537fd4
mov ebx, dword [ebp - 0xd0]
nop word [eax + eax]
mov eax, dword [ebx + 0x1dc]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0xb8]
push ebx
call fcn.00518300
dec dword [ebx + 0x1e0]
add esp, 8
mov esi, dword [ebp - 0xbc]
cmp dword [ebx + 0x1dc], esi
jne 0x537f90
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp ebx, 1
jne 0x5380d4
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1dc], eax
push dword [ebp - 0xbc]
push ecx
call fcn.00518300
add esp, 8
cmp dword [ebp - 0xf4], 0
jne 0x5378a3
mov eax, dword [ebp - 0xd0]
dec dword [eax + 0x1e0]
jmp 0x5380fb
mov dword [ebp - 0xf4], 0
mov eax, dword [edx + 0x1e0]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0xb0], ecx
dec eax
mov dword [ebp - 0xb4], eax
cmp dword [edx + 4], ecx
jle 0x53808f
nop dword [eax]
push eax
mov eax, dword [edx + 8]
add ecx, ecx
push ebx
push dword [eax + ecx*8 + 4]
call fcn.005154a0
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x53bc15
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xd0]
inc ecx
mov ebx, dword [ebp - 0xcc]
mov dword [ebp - 0xb0], ecx
cmp ecx, dword [edx + 4]
jge 0x538089
mov eax, dword [ebp - 0xb4]
jmp 0x538040
mov esi, dword [ebp - 0xbc]
cmp ebx, 2
jne 0x537f76
test dword [edx + 0xc], 0x200
je 0x537f76
push edx
call fcn.00519a60
push 0xffffffffffffffff
push edx
call fcn.0052cc50
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
or dword [ecx + 0xc], 0x200
mov esi, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xcc]
jmp 0x537f7c
cmp dword [ebp - 0xf4], 0
mov ebx, dword [ebp - 0xd0]
mov eax, dword [esi + 8]
mov dword [ebx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1f4], eax
jne 0x5378a3
mov eax, ebx
push dword [ebp - 0xb4]
push dword [ebp - 0xcc]
push eax
call fcn.005405a0
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x53bc15
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
jmp case.0x535a27.17
cmp ebx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xdc]
push str.cannot__s_savepoint___SQL_statements_in_progress
push edx
add eax, 0x38
push eax
call fcn.0052ff30
mov ebx, dword [ebp - 0xd8]
add esp, 0x10
mov esi, dword [ebp - 0xe0]
mov eax, 5
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], 5
jmp 0x53ba56
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.0x535a27.17
push dword [esi + edi*4 + 8]
push eax
call fcn.005129c0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd4], ecx
cmp ecx, 5
je 0x53bbc2
test ecx, ecx
jne 0x53bc0f
mov ecx, dword [ebp - 0xd0]
cmp dword [esi + edi*4 + 8], eax
je 0x53ba50
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x67], al
je 0x53ba50
cmp byte [ecx + 0x1c], al
je 0x5381f8
cmp dword [ecx + 0x8c], 1
jle 0x53ba50
cmp dword [edx + 0x78], 0
jne 0x538213
mov eax, dword [ecx + 0x1e0]
inc dword [ecx + 0x1e4]
add eax, dword [ecx + 0x1e4]
mov dword [edx + 0x78], eax
mov eax, dword [edx + 0x78]
dec eax
push eax
push 0
push ecx
call fcn.005405a0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x53824c
mov eax, dword [ebp - 0xdc]
push dword [eax + 0x78]
push dword [ebp - 0xcc]
call fcn.00512970
add esp, 8
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x1f0]
mov dword [edx + 0x98], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x1f4]
mov dword [edx + 0x9c], eax
jmp case.0x535a27.17
mov ecx, dword [esi + edi*4 + 4]
lea edx, [ebp - 0xcc]
mov dword [ebp - 0xc8], ecx
add ecx, ecx
mov eax, dword [esi + edi*4 + 0xc]
push edx
mov dword [ebp - 0xc4], eax
push eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
push dword [eax + ecx*8 + 4]
call fcn.00513ae0
mov ecx, dword [ebp - 0xec]
add esp, 0xc
mov eax, dword [ebp - 0xcc]
inc ebx
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xd0]
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xd0]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0053dab0
mov eax, dword [ebp - 0xe0]
push dword [esi + 0x10]
push dword [eax + edi*4 + 8]
mov eax, dword [ebp - 0xcc]
push dword [eax + 4]
call fcn.00515af0
mov dword [ebp - 0xd4], eax
add esp, 0x10
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
cmp eax, 1
jne 0x53834f
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xd0]
mov dword [ecx], eax
or dword [esi + 0xc], 0x200
jmp 0x538363
cmp eax, 2
jne 0x538363
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xe0]
cmp dword [esi + edi*4 + 4], 1
jne case.0x535a27.17
push dword [ebp - 0xd0]
call fcn.00519a60
mov eax, dword [ebp - 0xdc]
add esp, 4
mov byte [eax + 0x63], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x5383de
lea ecx, [ebp - 0xcc]
push ecx
push 1
push eax
call fcn.00513ae0
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
jmp 0x5383e8
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
cmp ecx, dword [esi + edi*4 + 8]
jne 0x5383fe
cmp eax, dword [esi + edi*4 + 0xc]
je case.0x535a27.17
mov eax, dword [ebp - 0xdc]
push dword [eax + 0x38]
push dword [ebp - 0xd0]
call fcn.00518300
push str.database_schema_has_changed
push dword [ebp - 0xd0]
call fcn.00518540
mov ecx, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [esi + edi*4 + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xcc]
je 0x53845c
push edx
push dword [ebp - 0xd0]
call fcn.0052cc50
add esp, 8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], 0x11
mov byte [eax + 0x63], 1
mov eax, 0x11
jmp 0x53ba56
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 0x63], 0
jne 0x53bbef
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov ebx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc4], ebx
mov esi, dword [esi + edi*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xc0], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xb0], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe0]
cmp byte [eax + edi*4], 0x28
jne 0x5384fb
mov dword [ebp - 0xbc], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xdc]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x65]
jae 0x538501
mov byte [edx + 0x65], al
jmp 0x538501
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xe0]
cmp byte [edx + edi*4 + 3], cl
je 0x538546
mov ecx, dword [ebp - 0xe8]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0053dab0
mov eax, dword [esi + 0x10]
add esp, 4
mov dword [ebp - 0xc4], eax
cmp eax, 2
jl 0x53bbde
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe0]
mov al, byte [edx + edi*4 + 1]
mov ebx, dword [ebp - 0xdc]
cmp al, 0xfa
jne 0x53857f
mov eax, dword [ebx]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xc0]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x538587
cmp al, 0xf2
jne 0x53858d
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xcc], ecx
push 1
push esi
mov esi, dword [ebp - 0xe0]
push ecx
push dword [esi + edi*4 + 4]
push ebx
call fcn.004e2d00
add esp, 0x14
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x53bea6
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xb4]
push dword [eax]
push dword [ebp - 0xc8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
push dword [ebp - 0xb8]
call fcn.00513420
mov ecx, dword [ebp - 0xb4]
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 8], eax
cmp byte [esi + edi*4 + 1], 0xfa
mov eax, dword [ebp - 0xb4]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov ebx, dword [ebp - 0xd8]
jmp case.0x535a27.17
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xdc]
call fcn.004e2d00
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53bb3c
mov byte [eax + 0x1c], 1
movzx eax, byte [esi + edi*4 + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xcc]
add eax, 4
push eax
mov eax, dword [ebp - 0xd0]
push eax
push 0
push dword [eax]
call fcn.00514ae0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x538768
mov eax, dword [ebp - 0xcc]
push 1
push dword [eax + 4]
call fcn.005129c0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x538768
cmp dword [esi + edi*4 + 0x10], eax
je 0x53873f
movzx eax, byte [esi + edi*4 + 3]
or eax, 2
push eax
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0xcc]
push dword [eax + 4]
call fcn.005133d0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x538733
mov eax, dword [ebp - 0xcc]
push dword [eax]
push dword [esi + edi*4 + 0x10]
push 1
push dword [ebp - 0x118]
push dword [eax + 4]
call fcn.00513420
mov ecx, dword [esi + edi*4 + 0x10]
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 0
jmp 0x538768
mov eax, dword [ebp - 0xcc]
push dword [eax]
push 0
push 1
push 1
push dword [eax + 4]
call fcn.00513420
mov dword [ebp - 0xd4], eax
add esp, 0x14
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 1
cmp byte [esi + edi*4 + 3], 0x10
mov eax, dword [ebp - 0xcc]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.0x535a27.17
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xdc]
call fcn.004e2d00
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53bb3c
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x21], 1
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call fcn.0053f510
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
push 0
push 0xffffffffffffffff
push dword [esi + edi*4 + 0xc]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xdc]
call fcn.004e2d00
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53bb3c
mov edx, dword [ebp - 0xe4]
inc ebx
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1f], 0
jmp 0x535984
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [edx + 0x44]
push dword [eax + ecx*4]
push edx
call fcn.0053c6a0
mov eax, dword [ebp - 0xdc]
add esp, 8
mov ecx, dword [esi + edi*4 + 4]
inc ebx
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xd0]
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp dword [ecx], 0
je 0x538925
movzx eax, byte [esi + edi*4]
mov dword [ebp - 0xc8], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x1e], 0
je 0x538ade
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
mov dword [ebp - 0x100], ebx
call fcn.004e49b0
push ebx
call fcn.0053ccb0
mov dword [ebp - 0x9c], eax
add esp, 8
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x538a66
test al, 8
jne 0x53893a
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov ebx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x98]
test ebx, ebx
jne 0x5389fe
cmp esi, 0x80000000
jne 0x5389fe
mov edx, esi
xor ecx, ecx
call fcn.0054d020
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x538981
comisd xmm1, xmm0
jbe 0x5389fe
mov dword [ebp - 0xcc], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x5389b1
cmp dword [ebp - 0xc8], 0x30
jl 0x5389ee
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.00513a50
jmp 0x5389ce
cmp dword [ebp - 0xc8], 0x2f
jg 0x5389ee
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.005143c0
mov ebx, eax
add esp, 8
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x53bc15
cmp dword [ebp - 0xcc], 0
je 0x5378a3
mov esi, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp case.0x535a27.17
mov eax, dword [ebp - 0xc8]
cmp eax, 0x2e
je 0x538a38
cmp eax, 0x30
je 0x538a38
mov edx, esi
mov ecx, ebx
call fcn.0054d020
mov eax, dword [ebp - 0x100]
comisd xmm0, xmmword [eax + 8]
jbe 0x538a72
add ebx, 0xffffffff
mov dword [ebp - 0x9c], ebx
adc esi, 0xffffffff
mov dword [ebp - 0x98], esi
jmp 0x538a72
mov edx, esi
mov ecx, ebx
call fcn.0054d020
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x538a72
add ebx, 1
mov dword [ebp - 0x9c], ebx
adc esi, 0
mov dword [ebp - 0x98], esi
jmp 0x538a72
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x9c]
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push 0
push esi
push ebx
push 0
push dword [eax]
call fcn.005145c0
mov ebx, eax
add esp, 0x18
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x53bc15
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
cmp dword [ebp - 0xcc], eax
jne 0x538b73
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x98]
mov dword [ecx + 0x44], eax
jmp 0x538b73
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xbc], eax
mov ax, word [ebp - 0xa4]
mov word [ebp - 0xb8], ax
mov al, byte [ebp - 0xc8]
and al, 1
mov byte [ebp - 0xb6], al
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xac], eax
test word [eax + 0x1c], dx
je 0x538b3d
push eax
call fcn.0053d660
mov ecx, dword [ebp - 0xc4]
add esp, 4
lea eax, [ebp - 0xcc]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
push dword [ecx]
call fcn.005145c0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
cmp eax, 0x30
jl 0x538be5
test ecx, ecx
js 0x538bc2
jne 0x538ba6
cmp eax, 0x31
je 0x538bc2
mov ecx, dword [ebp - 0xd0]
inc ebx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], 0
jmp 0x535984
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.00514970
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jmp 0x538c28
test ecx, ecx
jg 0x538c09
jne 0x538bf0
cmp eax, 0x2e
je 0x538c09
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xcc], ecx
jmp 0x538c38
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.00515100
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xcc], 0
je 0x538c46
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov ecx, dword [ebp - 0xd0]
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
cmp dword [eax], 0
je 0x538c46
mov ecx, dword [ebp - 0xe8]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0053ccb0
mov ecx, dword [ebp - 0xcc]
add esp, 4
inc ebx
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 1
jmp 0x535984
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov dword [ebp - 0xcc], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x538e09
mov edx, dword [ebp - 0xe0]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x538d35
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov ax, word [edx + edi*4 + 0x10]
mov word [ebp - 0xb0], ax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov byte [ebp - 0xae], 2
mov dword [ebp - 0xbc], eax
jmp 0x538d8f
lea eax, [ebp - 0xc0]
push eax
push 0x97
lea eax, [ebp - 0x9c]
push eax
push dword [ecx + 8]
call fcn.005350f0
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x53bb3c
push eax
push dword [esi + 4]
mov eax, dword [ebp - 0xc8]
push dword [esi + 0x18]
push dword [eax + 8]
call fcn.0053ebc0
mov eax, dword [ebp - 0xbc]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xc4]
push edx
push 0
push 0
push 0
push eax
push dword [ecx]
call fcn.005145c0
mov esi, dword [ebp - 0xe0]
add esp, 0x18
mov ecx, eax
mov dword [ebp - 0xd4], ecx
cmp dword [esi + edi*4 + 0x10], 0
jne 0x538dd6
push dword [ebp - 0xc0]
push dword [ebp - 0xd0]
call fcn.00518300
mov ecx, dword [ebp - 0xd4]
add esp, 8
test ecx, ecx
jne case.0x535a27.17
xor eax, eax
cmp dword [ebp - 0xc4], eax
sete al
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], cl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp - 0xcc]
jmp 0x538e0f
mov esi, dword [ebp - 0xe0]
cmp byte [esi + edi*4], 0x34
jne 0x538e1c
test edx, edx
jmp 0x538c3f
test edx, edx
jne 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xf4], ecx
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xc0], dx
mov word [ebp - 0xcc], cx
cmp ax, dx
jae 0x538edf
nop dword [eax]
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x538fa3
inc cx
mov word [ebp - 0xcc], cx
cmp cx, dx
jb 0x538ec0
cmp dword [ebp - 0xf4], 0
je 0x5378a3
mov eax, dword [ebp - 0xc8]
push ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov byte [ebp - 0xae], 4
mov word [ebp - 0xb0], ax
mov dword [ebp - 0xa4], esi
call fcn.0053dab0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc8]
add eax, 0x4c
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc4]
call fcn.005145c0
add esp, 0x1c
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xae], 4
jne 0x5389ee
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x9c]
jne 0x538f86
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
je 0x5389ee
mov esi, dword [ebp - 0xe0]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xd8]
jmp case.0x535a27.17
mov esi, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [ebp - 0xc4], 0
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov edx, dword [eax]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x5390b5
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xc4]
push edx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xc4], 0
mov ecx, dword [eax + esi*8 + 0x10]
push 0
mov dword [ebp - 0xbc], ecx
mov eax, dword [eax + esi*8 + 0x14]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0xb8], eax
call fcn.005145c0
mov ecx, dword [ebp - 0xcc]
add esp, 0x18
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], eax
mov eax, dword [edx + esi*8 + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + esi*8 + 0x14]
mov dword [ecx + 0x44], eax
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xe0]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x5390a7
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov ebx, eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x4c], ecx
jmp case.0x535a27.17
mov esi, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [eax + 0x4c], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xd0]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
inc ebx
jmp 0x535984
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
mov dword [ebp - 0xc0], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc4], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x539453
cmp byte [esi + 0x1b], 0
jne 0x539334
mov edx, dword [ecx + 0x18]
mov eax, edx
mov dword [ebp - 0xcc], edx
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov dword [ebp - 0xc8], ecx
jne 0x539201
lea eax, [ebp - 0xc0]
push eax
push dword [esi]
call fcn.005143c0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
cmp dword [ebp - 0xc0], eax
je 0x53919b
lea edx, [eax + 1]
xor ecx, ecx
jmp 0x5391ef
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.00514380
mov edx, dword [ebp - 0xcc]
add esp, 8
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
cmp edx, 0xffffffff
jne 0x5391e9
cmp ecx, 0x7fffffff
jne 0x5391e9
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1b], 1
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
jmp 0x5391fb
add edx, 1
adc ecx, 0
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], edx
mov esi, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x5392ea
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x539254
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x53923f
mov edx, eax
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 0x44]
test eax, eax
jne 0x539230
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x539260
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xb8], eax
call fcn.0053dab0
mov esi, dword [ebp - 0xb8]
add esp, 4
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x53928c
cmp ecx, 0x7fffffff
je 0x53bc00
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1b], 0
jne 0x53bc00
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xc8], ecx
jg 0x5392c6
jl 0x5392b6
mov eax, dword [ebp - 0xcc]
cmp eax, edx
jae 0x5392cc
mov eax, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], eax
jmp 0x5392cc
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
cmp ecx, 0x7fffffff
jg 0x539301
jl 0x5392f9
cmp edx, 0xffffffff
jae 0x539301
add edx, 1
adc ecx, 0
jmp 0x539318
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
push ecx
push edx
push dword [esi]
call fcn.00515750
mov esi, dword [ebp - 0xc4]
add esp, 0xc
cmp byte [esi + 0x1b], 0
je 0x539438
mov eax, dword [ebp - 0x108]
lea edx, [ebp - 0xc0]
mov ecx, dword [ebp - 0x104]
and eax, 0x3fffffff
push edx
add ecx, 1
mov dword [ebp - 0xbc], 0
push 0
adc eax, 0
mov dword [ebp - 0xcc], ecx
push eax
push ecx
mov dword [ebp - 0xc8], eax
push 0
push dword [esi]
call fcn.005145c0
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xd4], edx
test edx, edx
jne 0x539432
nop dword [eax + eax]
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
jne 0x539426
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, 0x64
jge 0x539426
lea eax, [ebp - 0xcc]
push eax
push 8
call fcn.004d90d0
mov eax, dword [ebp - 0xcc]
add esp, 8
cmp dword [ebp - 0xbc], 5
jge 0x5393d9
and eax, 0xffffff
xor ecx, ecx
jmp 0x5393e5
mov ecx, dword [ebp - 0xc8]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc0]
push edx
push 0
adc ecx, 0
mov dword [ebp - 0xcc], eax
push ecx
push eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
push 0
push dword [eax]
call fcn.005145c0
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xd4], edx
test edx, edx
je 0x539390
jmp 0x539432
test edx, edx
jne 0x539432
test ecx, ecx
je 0x53bc00
mov esi, dword [ebp - 0xc4]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ebx
cmp byte [edx + edi*4], 0x39
mov eax, dword [edx + edi*4 + 0xc]
jne 0x5394d2
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc4], ecx
mov edx, dword [eax + 0x14]
jmp 0x5394db
cdq
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc0], edx
test byte [eax + edi*4 + 3], 1
je 0x5394fd
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x6c]
mov eax, dword [ebp - 0xe0]
test byte [eax + edi*4 + 3], 2
je 0x53952e
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x104], ecx
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0xc0]
mov dword [edx + 0x34], eax
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
test byte [esi + 0x1c], 1
je 0x539554
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe0]
test byte [eax + edi*4 + 3], 0x10
je 0x53956c
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xb4], eax
jmp 0x539576
mov dword [ebp - 0xb4], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x53958c
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb8], eax
jmp 0x539596
mov dword [ebp - 0xb8], 0
push 0
push 0
push dword [ebx]
call fcn.00515750
push dword [ebp - 0xb4]
mov esi, dword [ebp - 0xe0]
movzx eax, byte [esi + edi*4 + 3]
and eax, 8
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push 0
push dword [eax]
call fcn.00513c60
mov ecx, eax
add esp, 0x30
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xd4], ecx
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x50], 0
test ecx, ecx
jne 0x53861e
mov ebx, dword [ebp - 0xd0]
cmp dword [ebx + 0xbc], ecx
je 0x53861e
cmp dword [esi + edi*4 + 0x10], ecx
je 0x53861e
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xb0], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xac], ecx
test byte [esi + edi*4 + 3], 4
mov edi, 0x17
push ecx
cmovne eax, edi
push edx
push eax
mov dword [ebp - 0xa8], eax
push dword [ebx + 0xb8]
mov eax, dword [ebx + 0xbc]
call eax
mov ebx, dword [ebp - 0xd8]
jmp 0x53ba47
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], ecx
cmp dword [eax + 0xbc], 0
je 0x5396dd
cmp dword [esi + edi*4 + 0x10], 0
je 0x5396dd
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc8], eax
push ecx
call fcn.00535590
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
push eax
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.00515750
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.005135c0
mov ecx, eax
add esp, 0x10
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd4], ecx
mov dword [eax + 0x50], 0
test ecx, ecx
jne 0x53977b
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0xbc]
test edx, edx
je 0x53977b
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x53977b
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xd0]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [esi + edi*4 + 8], 1
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
je 0x53ba56
mov edx, dword [ebp - 0xdc]
inc dword [edx + 0x6c]
jmp 0x53ba56
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x6c]
add dword [ecx + 0x40], eax
inc ebx
mov dword [ecx + 0x3c], eax
mov dword [edx + 0x6c], 0
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea edx, [ebp - 0xc8]
push edx
push eax
push ecx
call fcn.0053f460
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xd4], eax
je 0x53ba56
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp 0x53ba56
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
push edx
mov dword [ebp - 0xec], edx
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
push eax
mov dword [ebp - 0xcc], eax
call fcn.0053f950
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
call fcn.00535590
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc07
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x5398fd
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc8]
call fcn.00514380
mov eax, dword [ebp - 0xd0]
add esp, 8
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0xb8], edx
jg 0x53677c
mov ecx, dword [ebp - 0xbc]
jl 0x5398f5
cmp ecx, eax
ja 0x53677c
mov dword [ebp - 0xc4], ecx
jmp 0x539927
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xc8]
call fcn.00513560
mov eax, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [eax + 0x48]
ja 0x53677c
mov edi, dword [ebp - 0xec]
push 0
push ecx
push edi
call fcn.0053d900
add esp, 0xc
test eax, eax
jne 0x53bb3c
mov eax, dword [ebp - 0xc4]
mov ecx, 0xbf10
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x539994
push 0
push dword [edi + 4]
push dword [ebp - 0xc4]
push 0
push dword [ebp - 0xc8]
call fcn.004e1da0
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x1f], 1
jmp case.0x535a27.17
push dword [edi + 4]
push dword [ebp - 0xc4]
push 0
push dword [ebp - 0xc8]
call fcn.00513500
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x1f], 1
jmp case.0x535a27.17
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xdc]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
cmp byte [ecx + 0x1c], 0
je 0x5399f3
mov ecx, dword [ebp - 0xd0]
mov eax, 1
mov word [edx + 0x1c], ax
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x535984
cmp byte [ecx + 0x1d], 0
je 0x539a28
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x539a80
mov eax, dword [eax]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xbc], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
push dword [ebp - 0xbc]
mov dword [ebp - 0xd4], eax
push edi
call fcn.004ff460
mov ecx, dword [ebp - 0xec]
add esp, 0x10
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
push ecx
call fcn.00535590
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc07
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x19], al
je 0x539ad1
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
lea eax, [ebp - 0xc4]
push eax
push dword [ecx]
call fcn.00514380
mov ecx, dword [ebp - 0xec]
add esp, 8
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
test eax, eax
je 0x538c46
push eax
call fcn.00512c50
mov ecx, dword [ebp - 0xd0]
add esp, 4
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
test eax, eax
je 0x539b9c
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.005143c0
mov ecx, dword [ebp - 0xcc]
add esp, 8
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xc4]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [esi + edi*4 + 8]
test eax, eax
jle case.0x535a27.17
cmp dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xd0]
je 0x53ba50
lea ebx, [eax - 1]
jmp 0x53ba50
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x80]
jmp 0x539c01
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], 1
push ecx
cmp dword [eax + 0x48], 0
je 0x539c3f
push eax
push dword [ebp - 0xd0]
call fcn.0053f680
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x539c8a
mov eax, dword [eax]
push eax
mov dword [ebp - 0xc8], eax
call fcn.00513a50
mov dword [ebp - 0xd4], eax
add esp, 8
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xcc]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov cl, byte [ebp - 0xc4]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
je 0x53ba56
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp 0x53ba56
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xe0], 0
jne 0x53be6f
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.0x535a27.17
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xc8]
push ecx
je 0x539d0b
push eax
push dword [ebp - 0xd0]
call fcn.0053f5c0
add esp, 0xc
jmp 0x539d20
mov dword [ebp - 0xc8], 1
push dword [eax]
mov eax, dword [esi + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xc8], 0
jne 0x539d71
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [esi + edi*4 + 3]
mov ebx, dword [ebp - 0xd8]
test al, al
je 0x539d71
mov edx, dword [ebp - 0xdc]
movzx eax, al
inc dword [edx + eax*4 + 0x78]
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ecx]
mov dword [ebp - 0xc8], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ebx, ebx
je 0x5378a3
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x539de6
push esi
call fcn.0053d660
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x5378a3
mov ebx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0x48], 0
je 0x539e13
push esi
push ecx
push dword [ebp - 0xd0]
call fcn.0053f9d0
mov ebx, dword [ebp - 0xd8]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xc0], esi
test byte [eax + edi*4 + 3], 0x10
je 0x539e37
mov eax, dword [ecx + 0x4c]
jmp 0x539e39
xor eax, eax
push eax
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
push 0x5ead72
cdq
push edx
push eax
push esi
push ebx
call fcn.00513c60
mov ebx, dword [ebp - 0xd8]
add esp, 0x24
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x535a27.17
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], eax
mov ax, word [esi + edi*4 + 0xc]
mov word [ebp - 0xb8], ax
mov byte [ebp - 0xb6], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xc4]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
push ecx
call fcn.005145c0
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x539f1d
cmp dword [ebp - 0xc4], eax
jne 0x539f1d
push dword [ebp - 0xc8]
call fcn.005135c0
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xcc], 0
je 0x538c46
push dword [ebp - 0xc8]
call fcn.00535590
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x53bc0f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1c], cl
jne 0x538c46
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call fcn.0053cb60
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53bc0f
mov eax, dword [ebp - 0xc4]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [edi + 0x14], eax
mov eax, 4
mov word [edi + 0x1c], ax
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
cmp dword [ecx], 0
je case.0x535a27.17
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xc4], eax
mov ax, word [esi + edi*4 + 0x10]
mov word [ebp - 0xc0], ax
cmp byte [esi + edi*4 + 3], 0
setne al
add al, 2
mov byte [ebp - 0xbe], al
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xc4]
push eax
push ecx
call fcn.0053caa0
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp byte [esi + edi*4], 0x64
mov eax, dword [ebp - 0xc8]
jne 0x53a073
neg eax
jmp 0x53a074
inc eax
mov ecx, dword [ebp - 0xd0]
test eax, eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
jle 0x53ba56
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp 0x53ba56
mov edx, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov eax, dword [edx + 0x88]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x53a0df
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x53a0d2
cmp byte [eax + 0x66], 2
jae 0x53a0d2
cmp dword [eax + 0x58], 0
jl 0x53a0d2
inc ecx
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x53a0b6
mov eax, dword [ebp - 0xec]
mov ecx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xc8], ecx
jg 0x53bc58
mov ecx, dword [esi + edi*4 + 0xc]
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xc0], ecx
add ecx, ecx
push eax
mov eax, dword [edx + 8]
push dword [esi + edi*4 + 4]
push dword [eax + ecx*8 + 4]
call fcn.00513800
mov esi, dword [ebp - 0xec]
mov ecx, eax
mov eax, dword [ebp - 0xec]
mov edx, 4
add esp, 0xc
mov dword [ebp - 0xd4], ecx
mov word [eax + 0x1c], dx
mov eax, dword [ebp - 0xcc]
cdq
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [ebp - 0xe0]
mov dword [eax + 0x14], edx
test ecx, ecx
jne case.0x535a27.17
mov eax, dword [ebp - 0xcc]
test eax, eax
je case.0x535a27.17
push dword [esi + edi*4 + 4]
push eax
push dword [ebp - 0xc0]
push dword [ebp - 0xd0]
call fcn.0052d180
mov al, byte [ebp - 0xc0]
add esp, 0x10
inc al
mov byte [ebp - 0xf9], al
jmp case.0x535a27.17
mov dword [ebp - 0xcc], 0
lea eax, [ebp - 0xcc]
xor ecx, ecx
cmp dword [esi + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + edi*4 + 8]
push eax
mov eax, dword [ebp - 0xd0]
add ecx, ecx
push dword [esi + edi*4 + 4]
mov eax, dword [eax + 8]
push dword [eax + ecx*8 + 4]
call fcn.00512c70
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp dword [esi + edi*4 + 0xc], 0
je case.0x535a27.17
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xcc]
add dword [edx + 0x6c], eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
jle case.0x535a27.17
mov edi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.0x535a27.17
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], 0
mov ecx, dword [esi + edi*4 + 4]
shl ecx, 4
add ecx, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0xc4], ecx
cmp byte [esi + edi*4], 0x69
setne al
inc eax
push eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xcc]
push eax
push dword [ecx + 4]
call fcn.005133d0
mov ecx, dword [ebp - 0xec]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x535a27.17
mov edx, dword [esi + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xcc], edx
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], eax
add edx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x38
mov dword [ebp - 0xb8], eax
push dword [esi + edi*4 + 0x10]
push ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.005266c0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x53bb3c
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc0]
push 0
push ecx
push fcn.00524580
mov byte [eax + 0x7c], 1
push dword [ebp - 0xc4]
mov dword [ebp - 0xb4], 0
push eax
call fcn.004d41d0
push dword [ebp - 0xc4]
test eax, eax
push dword [ebp - 0xd0]
cmove eax, dword [ebp - 0xb4]
mov dword [ebp - 0xd4], eax
call fcn.00518300
mov ecx, dword [ebp - 0xd0]
add esp, 0x1c
mov eax, dword [ebp - 0xd4]
mov byte [ecx + 0x7c], 0
cmp eax, 7
jne 0x53ba56
mov ebx, dword [ebp - 0xdc]
push str.out_of_memory
push ecx
lea eax, [ebx + 0x38]
mov byte [ecx + 0x1e], 1
push eax
call fcn.0052ff30
add esp, 0xc
mov ebx, 7
jmp 0x53beb7
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00510430
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.005317e0
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00531700
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00531880
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xcc], eax
lea eax, [eax*4 + 4]
push eax
push dword [ebp - 0xd0]
call fcn.00518390
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x53bb3c
mov ecx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [esi + edi*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xcc], eax
jle 0x53a4a9
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.0053ccb0
mov edx, dword [ebp - 0xc4]
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xcc]
jl 0x53a470
mov edx, dword [ebp - 0xc8]
mov dword [edx + eax*4], 0
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xe0]
push dword [ebp - 0xcc]
push dword [ebp - 0xc8]
movzx ecx, byte [eax + edi*4 + 3]
mov eax, dword [ebp - 0xd0]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [eax + ecx*8 + 4]
call fcn.00513e50
push dword [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
push dword [ebp - 0xd0]
call fcn.00518300
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
cdq
push esi
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.0053df10
add esp, 0x20
cmp dword [ebp - 0xc0], 0
je 0x53a548
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x53bb3c
push fcn.004d8ef0
push 1
push 0xffffffffffffffff
push eax
push esi
call fcn.0053e030
add esp, 0x14
movzx eax, byte [ebp - 0xf0]
push eax
push esi
call fcn.00535160
add esp, 8
mov esi, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x53a5a8
push esi
call fcn.0053df60
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x53bb3c
mov eax, dword [ebp - 0xe8]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
push dword [esi + 0x10]
call fcn.0052d290
mov esi, dword [ebp - 0xe0]
add esp, 0xc
mov ecx, dword [ebp - 0xd0]
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0xe0], 0
jne 0x53be6f
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x53a656
lea eax, [ebp - 0xcc]
push eax
push dword [esi + 0x10]
call fcn.0052d320
add esp, 8
test eax, eax
je 0x53a656
mov esi, dword [ebp - 0xe0]
push dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0xcc]
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0053deb0
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
push esi
call fcn.0053df10
mov esi, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ecx + edi*4 + 0x10]
mov dword [ebp - 0xcc], eax
test byte [esi + 0x1c], 0x20
jne 0x53a6c8
push esi
call fcn.0053df60
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x53bb3c
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xe8]
test eax, eax
je 0x53a719
js 0x53a6d3
and eax, 0xf
jmp 0x53a6d8
mov eax, 0xff
push dword [edx + ebx*8 + 0x14]
push dword [edx + ebx*8 + 0x10]
push eax
push dword [esi + 0x10]
call fcn.0052d3a0
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x53a711
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov ebx, dword [esi + edi*4 + 8]
jmp 0x535984
mov eax, dword [ebp - 0xcc]
test eax, eax
js 0x53a734
mov edi, dword [ebp - 0xe8]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
push dword [esi + 0x10]
call fcn.0052d290
add esp, 0xc
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xb4], edx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], esi
cmp byte [eax + edi*4 + 3], 0
je 0x53a7b6
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x53a7b6
nop
cmp dword [eax + 0x28], ecx
je 0x53a559
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x53a7a0
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebx + 0xb0]
cmp eax, dword [ecx + 0x70]
jge 0x53bc73
test byte [esi + 0x1c], 0x40
jne 0x53a967
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xcc], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*4]
add eax, 0x48
push eax
push dword [ebp - 0xd0]
mov dword [ebp - 0xc8], eax
call fcn.00518420
add esp, 8
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x53bea6
push dword [ebp - 0xc4]
call fcn.0053dd30
mov eax, dword [ebp - 0xc4]
mov ecx, 0x40
add esp, 4
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov dword [eax], ebx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x44]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xb8]
mov cx, word [ebx + 0x32]
mov word [eax + 0x24], cx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0xc0]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0xbc]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x2c]
lea ecx, [edx + 0x48]
mov dword [ebp - 0xc0], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [ebp - 0xbc], eax
cmp ecx, eax
je 0x53a970
mov ebx, 0x80
nop dword [eax]
nop dword [eax + eax]
mov word [ecx + 0x1c], bx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc0]
add ecx, 0x28
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [ebp - 0xbc]
jne 0x53a930
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xb8]
jmp 0x53a970
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xb8], edx
inc dword [ebx + 0xb0]
mov eax, dword [ebx + 0xa8]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [ebx + 0xa8], ecx
mov dword [ebx + 0x6c], 0
lea edi, [ecx + 0x20]
mov dword [ebx + 8], edi
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0x18], eax
mov ax, word [ecx + 0x30]
mov word [ebx + 0x32], ax
mov eax, dword [ebx + 0x18]
inc eax
mov dword [ebp - 0xe8], edi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov dword [ebx + 0x44], ecx
mov esi, dword [edx]
mov dword [ebx + 4], esi
mov eax, dword [edx + 4]
mov dword [ebx + 0x1c], eax
movzx eax, word [ebx + 0x32]
mov dword [ebp - 0xe0], esi
lea ecx, [ecx + eax*4]
mov dword [ebx + 0xc0], ecx
mov eax, dword [edx + 0x10]
mov dword [ebx + 0xbc], eax
push dword [ebx + 0xbc]
mov eax, dword [edx + 4]
push 0
push ecx
mov dword [ebx + 0x1c], eax
call fcn.005b9c20
mov ecx, dword [ebp - 0xd0]
or ebx, 0xffffffff
mov edx, dword [ebp - 0xe4]
add esp, 0xc
inc ebx
jmp 0x535984
mov eax, dword [ebp - 0xdc]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
push eax
push dword [ebp - 0xec]
mov dword [ebp - 0xc8], eax
call fcn.0053e290
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
cmp dword [esi + edi*4 + 4], 0
mov eax, dword [esi + edi*4 + 8]
cdq
je 0x53aab8
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
jmp 0x535984
cmp dword [esi + edi*4 + 4], 0
je 0x53ab0e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x53ab02
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x90]
or eax, dword [edx + 0x94]
jne 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x53ab7e
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x53ab6f
nop word [eax + eax]
mov edx, eax
mov dword [ebp - 0xc8], edx
mov eax, dword [edx + 0x44]
test eax, eax
jne 0x53ab60
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x53ab8e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xcc], eax
call fcn.0053dab0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0053dab0
mov eax, dword [ebp - 0xcc]
add esp, 8
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x53abd1
jl 0x53abcb
cmp dword [eax + 0x10], ecx
jae 0x53abd1
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov esi, dword [ebp - 0xe0]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jl 0x538c46
jg 0x538c41
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jg 0x538c46
jl 0x538c41
cmp dword [edx + eax*8 + 0x10], 0
jae 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe8]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, esi
adc dword [eax + ecx*8 + 0x14], edx
mov edx, esi
mov eax, dword [eax + ecx*8 + 0x10]
mov esi, dword [ebp - 0xe0]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x538c46
mov ebx, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xd0]
dec ebx
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
movzx ecx, byte [esi + edi*4 + 3]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0xc8], eax
test ecx, ecx
jle 0x53ad2a
nop dword [eax + eax]
mov dword [esi + eax*4], edx
push dword [ebp - 0xc0]
call fcn.0053e2f0
mov eax, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xc0]
inc eax
add edx, 0x28
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], edx
cmp eax, dword [ebp - 0xcc]
jge 0x53ad2a
mov esi, dword [ebp - 0x7c]
jmp 0x53acf0
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x8c], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
test byte [ecx + 3], 8
je 0x53adb9
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0xbc]
push dword [ebp - 0xcc]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x88], 0
je 0x53ae12
lea eax, [ebp - 0xb4]
push 1
push eax
call fcn.00534ba0
push eax
mov eax, dword [ebp - 0xdc]
push 0x5ed04c
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
mov eax, dword [ebp - 0x88]
add esp, 0x18
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0053dd30
add esp, 4
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xcc], eax
push dword [esi + edi*4 + 0x10]
push eax
call fcn.0053d6d0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x53ae7e
push 1
push dword [ebp - 0xcc]
call fcn.00534ba0
push eax
mov eax, dword [ebp - 0xdc]
push 0x5ed04c
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
add esp, 0x18
movzx eax, byte [ebp - 0xf0]
push eax
push dword [ebp - 0xcc]
call fcn.00535160
push dword [ebp - 0xcc]
call fcn.0053e3d0
add esp, 0xc
test eax, eax
jne 0x53677c
jmp case.0x535a27.17
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc8], 0
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc0], 0xffffffff
push eax
mov dword [ebp - 0xc4], 0xffffffff
push dword [esi + edi*4 + 8]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00515d30
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xd4], edx
cmp edx, 5
jne 0x53af0f
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [esi + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xbc], ecx
nop dword [eax]
mov eax, dword [ebp + eax*4 - 0xc8]
cdq
push edx
push eax
push ecx
call fcn.0053deb0
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, dword [ebp - 0xbc]
inc eax
add ecx, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], ecx
cmp eax, 3
jl 0x53af30
jmp case.0x535a27.17
mov edx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc8], esi
movzx ebx, byte [esi + 5]
cmove edx, ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc4], edx
cmp byte [esi + 0x10], 3
jae 0x53afcf
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x53afd7
cmp dword [esi + 0x4c], 0
jl 0x53afd7
jg 0x53afcf
cmp dword [esi + 0x48], 0
jbe 0x53afd7
mov edx, ebx
mov dword [ebp - 0xc4], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xbc], eax
cmp edx, 5
jne 0x53b00f
push eax
call fcn.00530f00
add esp, 4
test eax, eax
je 0x53b002
push esi
call fcn.00529010
add esp, 4
test eax, eax
jne 0x53b00f
mov edx, ebx
mov dword [ebp - 0xc4], edx
jmp 0x53b0d7
cmp edx, ebx
je 0x53b0d7
cmp ebx, 5
je 0x53b025
cmp edx, 5
jne 0x53b0d7
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1c], 0
je 0x53bc9c
cmp dword [ecx + 0x8c], 1
jg 0x53bc9c
cmp ebx, 5
jne 0x53b07c
push esi
call fcn.00527cc0
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x53b0bd
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.00528a80
mov edx, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0xcc]
jmp 0x53b0a0
cmp ebx, 4
jne 0x53b09a
push 2
push esi
call fcn.00528a80
mov edx, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0xcc]
jmp 0x53b0a0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.005158c0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x53b0cb
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], edx
jmp 0x53b0d1
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
push edx
push esi
call fcn.00528a80
mov esi, dword [ebp - 0xe0]
add esp, 8
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xec], edi
cmp eax, 6
jne 0x53b11b
xor eax, eax
jmp 0x53b122
mov eax, dword [eax*4 + 0x5f0778]
push eax
mov dword [edi + 4], eax
call fcn.00530f00
mov dword [edi + 0x18], eax
movzx eax, byte [ebp - 0xf0]
push eax
push edi
mov byte [edi + 0x1f], 1
call fcn.00535160
mov ebx, dword [ebp - 0xd8]
add esp, 0xc
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052d910
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
push eax
mov dword [ebp - 0xcc], eax
call fcn.00513ba0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd4], ecx
cmp ecx, 0x65
mov ecx, dword [ebp - 0xd0]
jne 0x53ba50
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [ebp - 0xd4], 0
xor eax, eax
jmp 0x53ba56
cmp dword [esi + edi*4 + 4], 0
jne 0x53b1e7
push dword [ebp - 0xd0]
call fcn.00519a60
mov ecx, dword [ebp - 0xd0]
add esp, 4
mov edx, dword [ebp - 0xe4]
inc ebx
jmp 0x535984
mov eax, dword [ebp - 0xdc]
inc ebx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov byte [eax + 0x63], 1
jmp 0x535984
mov al, byte [esi + edi*4 + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x53b224
mov ecx, dword [ebp - 0xd0]
test dword [ecx + 0xc], 0x80000
jne 0x53ba50
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
push dword [ebp - 0x11c]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [esi + edi*4 + 8]
push dword [eax + ecx*8 + 4]
call fcn.005144e0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xd4], ecx
cmp cl, 6
jne case.0x535a27.17
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xdc]
push str.database_table_is_locked:__s
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
add esp, 0x10
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 0x10]
push eax
push dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
call fcn.0053fd80
mov dword [ebp - 0xd4], eax
add esp, 8
mov eax, dword [ebp - 0xcc]
test eax, eax
je case.0x535a27.17
push dword [eax + 8]
push dword [ebp - 0xdc]
call fcn.004ff460
add esp, 8
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
add eax, 0x38
push eax
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00540040
add esp, 0x10
mov dword [ebp - 0xd4], eax
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x66], 2
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd0]
call fcn.00540160
mov dword [ebp - 0xd4], eax
add esp, 0xc
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x66], 0
jmp case.0x535a27.17
mov dword [ebp - 0xcc], 0
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov eax, dword [esi + edi*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc4], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax + 0x18]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xd4], eax
push dword [ebp - 0xdc]
call fcn.004ff460
add esp, 0x10
cmp dword [ebp - 0xd4], 0
jne case.0x535a27.17
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], ecx
push dword [esi + edi*4 + 4]
push dword [ebp - 0xdc]
call fcn.004e2d00
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53b3d8
mov ecx, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xe4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x28], ecx
jmp 0x53597e
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc0], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xbc], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb0], eax
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0xb8], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xac], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], ecx
test eax, eax
jle 0x53b4f4
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa4]
push dword [eax + ecx*4]
call fcn.0053e2f0
mov ecx, dword [ebp - 0xa8]
add esp, 4
mov eax, dword [ebp - 0xcc]
inc ecx
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], ecx
cmp ecx, eax
jge 0x53b4da
mov esi, dword [ebp - 0xbc]
jmp 0x53b492
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], ecx
jmp 0x53b4fa
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xdc]
push edx
push eax
mov eax, dword [ebp - 0xe0]
mov byte [ecx + 0x66], 1
mov ecx, dword [ebp - 0xf4]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebx
call eax
push dword [ebp - 0xb4]
mov ebx, eax
mov eax, dword [ebp - 0xdc]
push eax
mov dword [ebp - 0xd4], ebx
mov byte [eax + 0x66], 0
call fcn.004ff460
add esp, 0x1c
test ebx, ebx
jne 0x53b55e
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xb8]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xac], eax
jmp 0x53b564
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xe0]
test eax, eax
je 0x53b579
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xd8]
mov byte [eax + 0x1c], 0
jmp case.0x535a27.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
cmp byte [esi + 0x1c], 0
je 0x53b5e1
push eax
call fcn.0053df10
mov esi, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xd0]
inc ebx
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [esi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xbc]
push eax
call fcn.005b9c20
push dword [ebp - 0xc4]
lea eax, [ebp - 0xb4]
push eax
call fcn.0053db50
mov eax, dword [ebp - 0x98]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*4 + 8]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc8]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
push dword [ebp - 0xcc]
mov esi, eax
push dword [ebp - 0xdc]
call fcn.004ff460
mov eax, dword [ebp - 0x88]
test eax, eax
cmovne esi, eax
movzx eax, byte [ebp - 0xf0]
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xd4], esi
push eax
call fcn.00535160
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc4]
call fcn.0053db50
push dword [ebp - 0xc4]
call fcn.0053e3d0
add esp, 0x3c
test eax, eax
jne 0x53677c
mov esi, dword [ebp - 0xe0]
jmp case.0x535a27.17
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x535a27.17
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov byte [edx + 0x66], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
push dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
push eax
mov byte [eax + 0x66], 0
call fcn.004ff460
add esp, 0xc
cmp dword [ebp - 0xd4], 0
jne 0x53b745
mov eax, dword [ebp - 0xc0]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xc4], eax
jmp 0x53b74b
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd0]
test eax, eax
mov eax, dword [ebp - 0xd4]
jne 0x53ba56
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp 0x53ba56
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe8]
push 1
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc8], eax
call fcn.00535160
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne case.0x535a27.17
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
push dword [ebp - 0xcc]
mov edi, dword [ebp - 0xdc]
push edi
mov dword [ebp - 0xd4], eax
call fcn.004ff460
add esp, 0x10
mov byte [edi + 0x63], 0
jmp case.0x535a27.17
mov eax, dword [esi + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov edx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc4], edx
cmp dword [eax + 0x34], 0
je case.0x535a27.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
mov bl, byte [eax + 0x22]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc0], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xb0], ecx
test edx, edx
jle 0x53b889
push ecx
call fcn.0053e2f0
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb0]
inc eax
add ecx, 0x28
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], ecx
cmp eax, dword [ebp - 0xc4]
jl 0x53b847
mov ecx, dword [ebp - 0xd0]
mov al, byte [esi + edi*4 + 3]
mov byte [ecx + 0x22], al
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xc4]
push dword [ebp - 0xcc]
mov eax, dword [eax + 0x34]
call eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x22], bl
push dword [ebp - 0xcc]
push dword [ebp - 0xdc]
call fcn.004ff460
mov ebx, dword [ebp - 0xd4]
add esp, 0x18
test ebx, ebx
jne 0x53b92b
cmp dword [esi + edi*4 + 4], ebx
je 0x53b917
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x104], eax
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x108], ecx
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
jmp case.0x535a27.17
cmp ebx, 0x13
jne 0x53b917
mov eax, dword [esi + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x53b917
cmp byte [esi + edi*4 + 3], 4
jne 0x53bcd6
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe4]
inc ebx
mov dword [ebp - 0xd4], 0
jmp 0x53597e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
inc ebx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
mov edx, dword [ebp - 0xe4]
jmp 0x535984
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov edx, dword [eax + ecx*8 + 4]
xor eax, eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
je 0x53b9be
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x2c]
cmp eax, ecx
cmovb eax, ecx
push eax
push edx
call fcn.00514560
mov ecx, dword [ebp - 0xec]
add esp, 8
cdq
inc ebx
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xd0]
jmp 0x535984
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x98], 0
je 0x53ba50
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xdc]
test eax, eax
jne 0x53ba0a
mov eax, dword [edx + 0xa0]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53ba50
push eax
push edx
call fcn.0053c1e0
mov dword [ebp - 0xc8], eax
push eax
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x9c]
mov eax, dword [eax + 0x98]
call eax
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
call fcn.00518300
add esp, 0x18
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
inc ebx
mov dword [ebp - 0xd8], ebx
test eax, eax
jne 0x53beb1
mov edx, dword [ebp - 0xe4]
jmp 0x535990
mov ebx, 9
jmp 0x53beb7
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xd8]
mov dword [ebx + 0x5c], ecx
mov al, byte [esi + edi*4 + 8]
mov byte [ebx + 0x60], al
mov dword [ebx + 0x58], edx
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x53bad1
push eax
push 0x5ed04c
push dword [ebp - 0xd0]
lea eax, [ebx + 0x38]
push eax
call fcn.0052ff30
push dword [esi + edi*4 + 0x10]
push dword [ebx + 0xa0]
push dword [ebp - 0xd8]
push str.abort_at__d_in___s_:__s
push dword [esi + edi*4 + 4]
call fcn.004da760
add esp, 0x24
jmp 0x53baed
test ecx, ecx
je 0x53baed
push dword [ebx + 0xa0]
push edx
push str.constraint_failed_at__d_in___s_
push dword [esi + edi*4 + 4]
call fcn.004da760
add esp, 0x10
push ebx
call fcn.0053c7b0
add esp, 4
cmp eax, 5
jne 0x53be00
mov esi, eax
mov dword [ebx + 0x5c], esi
jmp 0x53bf1e
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1e], 0
jne 0x53a355
mov eax, dword [ebp - 0xd8]
mov esi, 0x64
inc eax
mov dword [ebx + 0x58], eax
jmp 0x53bf1e
lea eax, [ebp - 0xbc]
push eax
call fcn.0053dd30
add esp, 4
mov ecx, dword [ebp - 0xd0]
jmp 0x53a34f
mov ebx, 0x14
jmp 0x53bc15
mov eax, dword [ebp - 0xdc]
push str.cannot_open_savepoint___SQL_statements_in_progress
push edx
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0xc
mov ebx, 5
inc edi
jmp 0x53bebd
mov eax, dword [ebp - 0xd8]
mov dword [ebx + 0x58], eax
mov byte [esi + 0x1c], 0
mov esi, 5
mov dword [ebx + 0x5c], esi
jmp 0x53bf1e
mov eax, dword [ebp - 0xdc]
push str.no_such_savepoint:__s
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0x10
mov ebx, 1
inc edi
jmp 0x53bebd
mov ebx, dword [ebp - 0xdc]
mov esi, 5
mov eax, dword [ebp - 0xd8]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], esi
jmp 0x53bf1e
push 0x1093f
call fcn.00517320
add esp, 4
mov ebx, eax
jmp 0x53bc15
mov edi, dword [ebp - 0xd8]
mov ebx, 4
inc edi
jmp 0x53bebd
mov ebx, 0xd
jmp 0x53bc15
mov ebx, dword [ebp - 0xd4]
jmp 0x53bc1b
mov ebx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1e], 0
je 0x53bc2e
mov ebx, 7
jmp 0x53bc3a
cmp ebx, 0xc0a
je 0x53beb7
push ebx
call fcn.005198a0
push eax
push 0x5ed04c
push ecx
lea eax, [edi + 0x38]
push eax
call fcn.0052ff30
add esp, 0x14
jmp 0x53beb7
mov edi, dword [ebp - 0xdc]
mov ebx, 6
mov byte [edi + 0x60], 2
mov edi, dword [ebp - 0xd8]
inc edi
jmp 0x53bebd
mov eax, dword [ebp - 0xdc]
mov ebx, 1
push str.too_many_levels_of_trigger_recursion
push ecx
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0xc
inc edi
jmp 0x53bebd
cmp edx, 5
mov eax, str.into
mov esi, str.out_of
mov ebx, 1
cmovne eax, esi
push eax
mov eax, dword [ebp - 0xdc]
push str.cannot_change__s_wal_mode_from_within_a_transaction
push ecx
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0x10
inc edi
jmp 0x53bebd
mov al, byte [esi + edi*4 + 3]
cmp al, 5
jne 0x53bcf8
mov edi, dword [ebp - 0xdc]
mov eax, 2
mov byte [edi + 0x60], al
mov edi, dword [ebp - 0xd8]
inc edi
jmp 0x53bebd
mov edi, dword [ebp - 0xdc]
movzx eax, al
mov byte [edi + 0x60], al
mov edi, dword [ebp - 0xd8]
inc edi
jmp 0x53bebd
mov edx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], edx
mov ecx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc8], ecx
test edx, edx
je 0x53bd84
cmp byte [eax + 0x1c], 0
jne 0x53bd84
mov dword [ebp - 0xc4], 1
test ecx, ecx
je 0x53bd74
cmp dword [eax + 0x8c], 1
jle 0x53bd8e
push str.cannot_rollback_transaction___SQL_statements_in_progress
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0xc
mov ebx, 5
inc edi
jmp 0x53bebd
cmp dword [eax + 0x90], 0
jle 0x53bd8e
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x53bd50
mov dword [ebp - 0xc4], 0
movzx eax, byte [eax + 0x1c]
cmp edx, eax
jne 0x53bdda
test edx, edx
jne 0x53bda1
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x53bdb0
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xd0]
add eax, 0x38
push eax
call fcn.0052ff30
mov edi, dword [ebp - 0xd8]
add esp, 0xc
mov ebx, 1
inc edi
jmp 0x53bebd
test ecx, ecx
je 0x53be16
mov esi, dword [ebp - 0xd0]
push esi
call fcn.0052d030
mov ebx, dword [ebp - 0xdc]
add esp, 4
mov byte [esi + 0x1c], 1
push esi
call fcn.005160d0
add esp, 4
cmp dword [ebx + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x53bf1e
mov ebx, dword [ebp - 0xdc]
push 1
push ebx
call fcn.005353c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x53bf1e
mov esi, dword [ebp - 0xd0]
mov al, byte [ebp - 0xcc]
push ebx
mov byte [esi + 0x1c], al
call fcn.0053c7b0
add esp, 4
cmp eax, 5
jne 0x53bdf7
mov eax, dword [ebp - 0xd8]
mov dword [ebx + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xcc]
mov byte [esi + 0x1c], al
mov esi, 5
mov dword [ebx + 0x5c], esi
jmp 0x53bf1e
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edx, dword [ebp - 0xdc]
test eax, eax
mov ebx, 9
cmovne ecx, eax
push ecx
push 0x5ed04c
push dword [ebp - 0xd0]
lea eax, [edx + 0x38]
mov dword [edx + 0x5c], ebx
push eax
call fcn.0052ff30
add esp, 0x10
jmp 0x53beb7
mov ecx, dword [ebp - 0xd0]
jmp 0x53a355
mov ebx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
push dword [eax + 0x38]
mov dword [eax + 0x5c], ebx
push dword [eax + 0xa0]
push edi
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.004da760
push dword [ebp - 0xdc]
call fcn.0053c7b0
mov ecx, dword [ebp - 0xd0]
add esp, 0x18
cmp ebx, 0xc0a
jne 0x53befb
mov byte [ecx + 0x1e], 1
mov al, byte [ebp - 0xf9]
mov esi, 1
test al, al
je 0x53bf18
movzx eax, al
dec eax
push eax
push ecx
call fcn.0052cc50
add esp, 8
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x104]
push ebx
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x34], ecx
call fcn.0053ce20
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0054c3c9
mov esp, ebp
pop ebp
ret