Function at 0x4213a7
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9a4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 8], ecx
xor esi, esi
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [ebp - 0xc], edx
mov byte [ebp - 0xd], 0
mov ecx, dword [ebp - 0xc]
mov al, byte [ecx + 0x3e]
mov byte [ebp - 0xe], al
xor edx, edx
mov dword [ebp - 0x14], edx
xor ecx, ecx
mov dword [ebp - 0x18], ecx
xor eax, eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x20], ecx
xor eax, eax
mov dword [ebp - 0x2c], eax
xor edx, edx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x50], 7
je 0x4272a2
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x50], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x88], 0
mov dword [edx + 0x8c], 0
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov dword [edx + 0x1c4], ecx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xf0], 0
jne 0x427308
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x124], 0
je 0x421494
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x421481
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x12c]
mov dword [ebp - 0x1c], ecx
jmp 0x421494
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x12c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
div ecx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 4], eax
test esi, esi
jne 0x427207
mov edx, dword [ebp - 0xc]
cmp byte [edx + 0x41], 0
jne 0x4272a2
inc dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
shl ebx, 2
lea ebx, [ebx + ebx*4]
add ebx, dword [ebp - 8]
test byte [ebx + 2], 2
je 0x4214f3
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
test word [edx + 8], 0x2460
je 0x4214ea
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], 4
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x99
ja case.0x421502.0
jmp dword [eax*4 + 0x421509]
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0xf0], 0
jne 0x427308
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x124], 0
je case.0x421502.0
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x1c]
jb case.0x421502.0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
xor edx, edx
div dword [ecx + 0x12c]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x12c]
add eax, dword [ebp - 0x18]
sub eax, edx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0xc]
push dword [edx + 0x128]
mov ecx, dword [ebp - 0xc]
call dword [ecx + 0x124]
pop ecx
test eax, eax
je case.0x421502.0
mov esi, 9
jmp 0x427207
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov word [edi + 8], 4
mov eax, dword [ebp - 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [edi]
mov dword [ebp - 4], eax
mov word [edi + 8], 0x80
jmp case.0x421502.0
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], 4
cmp dword [ebx + 8], 0
je case.0x421502.0
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [edi]
mov edx, eax
shl edx, 2
lea edx, [edx + edx*4]
add edx, dword [ebp - 8]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 4], eax
mov word [edi + 8], 0x80
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov word [edi + 8], 4
mov eax, dword [edi]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
test byte [edx + 8], 1
je case.0x421502.0
cmp dword [ebx + 4], 0
jne 0x421979
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x421979
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb0]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 4]
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], eax
mov ecx, dword [ebp + 8]
dec dword [ecx + 0xb8]
mov eax, dword [ebp + 8]
push dword [eax + 0x5c]
push dword [ebp - 0xc]
call fcn.0041facf
add esp, 8
push dword [ebp - 0x4c]
call fcn.0041d961
pop ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x38], ecx
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x34], ecx
cmp dword [ebx + 8], 4
jne 0x421962
mov eax, dword [ebp - 4]
lea eax, [eax + eax*4]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x20], edx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp + 8]
mov cl, byte [ebx + 8]
mov byte [edx + 0x56], cl
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x50], 0
je 0x421a4b
cmp byte [ebx + 3], 0
je 0x4219b8
xor eax, eax
mov al, byte [ebx + 3]
mov edx, dword [eax*4 + 0x464258]
mov dword [ebp - 0x44], edx
jmp 0x4219bd
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], str.abort_at__d_in___s_:__s
cmp dword [ebp - 0x44], 0
je 0x4219ef
cmp dword [ebx + 0x10], 0
je 0x4219ef
push dword [ebx + 0x10]
push dword [ebp - 0x44]
push str._s_constraint_failed:__s
push dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
call fcn.00404967
add esp, 0x14
jmp 0x421a2b
cmp dword [ebx + 0x10], 0
je 0x421a11
push dword [ebx + 0x10]
push 0x4683a6
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0x10
jmp 0x421a2b
push dword [ebp - 0x44]
push str._s_constraint_failed
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00404967
add esp, 0x10
mov eax, dword [ebp + 8]
push dword [eax + 0x2c]
mov edx, dword [ebp + 8]
push dword [edx + 0xa8]
push dword [ebp - 4]
push dword [ebp - 0x48]
push dword [ebx + 4]
call fcn.00405ee7
add esp, 0x14
push dword [ebp + 8]
call fcn.0041e10b
pop ecx
mov esi, eax
cmp esi, 5
jne 0x421a6b
mov esi, 5
mov eax, dword [ebp + 8]
mov dword [eax + 0x50], esi
jmp 0x427262
mov esi, 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x50], 0
jne 0x427262
add esi, 0x64
jmp 0x427262
mov eax, dword [ebx + 4]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp case.0x421502.0
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], 8
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp case.0x421502.0
mov byte [ebx], 0x1b
push dword [ebx + 0x10]
call fcn.004067c6
pop ecx
mov dword [ebx + 4], eax
cmp byte [ebp - 0xe], 1
je 0x421b51
push 0
push 1
push 0xffffffffffffffff
push dword [ebx + 0x10]
push dword [ebp - 0x2c]
call fcn.0041be1c
add esp, 0x14
mov esi, eax
cmp esi, 0x12
je 0x427281
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
push dword [ebp - 0x2c]
call fcn.0041b4e8
add esp, 8
test eax, eax
jne 0x4272a2
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x2c]
or word [eax + 8], 0x800
cmp byte [ebx + 1], 0xff
jne 0x421b3b
push dword [ebx + 0x10]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
mov byte [ebx + 1], 0xff
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx + 0x10]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0xc]
mov dword [ebx + 4], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x58]
cmp eax, dword [ebx + 4]
jl 0x427281
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], 0xa02
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebx + 4]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x2c]
mov dl, byte [ebp - 0xe]
mov byte [eax + 0xa], dl
jmp case.0x421502.0
mov ecx, dword [ebx + 0xc]
sub ecx, dword [ebx + 8]
mov dword [ebp - 0x50], ecx
mov ax, 0x101
cmp dword [ebx + 4], 0
jne 0x421ba1
add eax, 0xffffff00
mov word [ebp - 0x52], ax
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], ax
cmp dword [ebp - 0x50], 0
jle case.0x421502.0
add dword [ebp - 0x2c], 0x28
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
mov ecx, dword [ebp - 0x2c]
mov ax, word [ebp - 0x52]
mov word [ecx + 8], ax
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0
jg 0x421bb6
jmp case.0x421502.0
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + 8]
or ax, 1
and ax, 0xff7f
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], ax
jmp case.0x421502.0
push 0
push 0
push dword [ebx + 4]
push dword [ebx + 0x10]
push dword [ebp - 0x2c]
call fcn.0041be1c
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
mov al, byte [ebp - 0xe]
mov byte [ecx + 0xa], al
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x3c]
mov eax, dword [ebx + 4]
dec eax
mov edx, eax
shl edx, 3
lea edx, [edx + edx*4]
add ecx, edx
mov dword [ebp - 0x58], ecx
push dword [ebp - 0x58]
call fcn.0041bd35
pop ecx
test eax, eax
jne 0x427281
push 0x800
push dword [ebp - 0x58]
push dword [ebp - 0x2c]
call fcn.0041bd60
add esp, 0xc
jmp case.0x421502.0
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x60], eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x64], edx
mov edi, dword [ebp - 0x60]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x64]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push edi
push dword [ebp - 0x2c]
call fcn.0041bdef
add esp, 8
add edi, 0x28
add dword [ebp - 0x2c], 0x28
dec dword [ebp - 0x5c]
jne 0x421c96
jmp case.0x421502.0
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x68], edx
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push 0x1000
push edi
push dword [ebp - 0x2c]
call fcn.0041bd60
add esp, 0xc
mov edx, dword [ebp - 0x2c]
test byte [edx + 9], 0x10
je 0x421cff
push dword [ebp - 0x2c]
call fcn.0041b625
pop ecx
test eax, eax
jne 0x4272a2
mov ecx, dword [ebp - 0x68]
add dword [ebp - 0x68], 0xffffffff
test ecx, ecx
je case.0x421502.0
add dword [ebp - 0x2c], 0x28
add edi, 0x28
jmp 0x421cd4
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push 0x1000
push edi
push dword [ebp - 0x2c]
call fcn.0041bd60
add esp, 0xc
jmp case.0x421502.0
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x124], 0
je 0x421d7d
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x1c]
jb 0x421d7d
mov eax, dword [ebp - 0xc]
push dword [eax + 0x128]
mov edx, dword [ebp - 0xc]
call dword [edx + 0x124]
pop ecx
test eax, eax
je 0x421d7d
mov esi, 9
jmp 0x427207
push 0
push dword [ebp + 8]
call fcn.0041e090
add esp, 8
mov esi, eax
test eax, eax
jne case.0x421502.0
push 1
push dword [ebp + 8]
call fcn.0041df86
add esp, 8
mov esi, eax
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x48]
add edx, 2
or edx, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x48], edx
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], eax
mov edi, eax
xor esi, esi
jmp 0x421e0a
lea eax, [esi + esi*4]
test byte [edi + eax*8 + 9], 0x10
je 0x421df8
mov edx, esi
shl edx, 3
lea edx, [edx + edx*4]
add edx, edi
push edx
call fcn.0041b625
pop ecx
test eax, eax
jne 0x4272a2
mov ecx, esi
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, edi
push ecx
call fcn.0041b728
pop ecx
inc esi
cmp esi, dword [ebx + 8]
jl 0x421dd5
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x41], 0
jne 0x4272a2
mov edx, dword [ebp - 4]
inc edx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4c], edx
mov esi, 0x64
jmp 0x427262
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov cx, word [edi + 8]
mov eax, dword [ebp - 0x24]
or cx, word [eax + 8]
test cl, 1
je 0x421e78
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
jmp case.0x421502.0
test byte [edi + 9], 0x40
je 0x421e87
push edi
call fcn.0041b68d
pop ecx
jmp 0x421e89
xor eax, eax
test eax, eax
jne 0x4272a2
mov edx, dword [ebp - 0x24]
test byte [edx + 9], 0x40
je 0x421ea5
push dword [ebp - 0x24]
call fcn.0041b68d
pop ecx
jmp 0x421ea7
xor eax, eax
test eax, eax
jne 0x4272a2
test byte [edi + 8], 0x12
jne 0x421ecc
push 0
mov dl, byte [ebp - 0xe]
push edx
push edi
call fcn.0041b74a
add esp, 0xc
test eax, eax
jne 0x4272a2
mov ecx, dword [ebp - 0x24]
test byte [ecx + 8], 0x12
jne 0x421eee
push 0
mov al, byte [ebp - 0xe]
push eax
push dword [ebp - 0x24]
call fcn.0041b74a
add esp, 0xc
test eax, eax
jne 0x4272a2
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x24]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x58]
cdq
cmp edx, dword [ebp - 0x6c]
jne 0x421f14
cmp eax, dword [ebp - 0x70]
jae 0x421f1a
jmp 0x427281
jl 0x427281
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x24]
sete al
and eax, 1
push eax
mov eax, dword [ebp - 0x70]
add eax, 2
push eax
push dword [ebp - 0x2c]
call fcn.0041b510
add esp, 0xc
test eax, eax
jne 0x4272a2
mov edx, dword [ebp - 0x2c]
mov cx, word [edx + 8]
and cx, 0xbe00
or cx, 2
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], cx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x24]
je 0x421f7a
mov ecx, dword [ebp - 0x24]
push dword [ecx + 0xc]
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
mov edx, dword [ebp - 0x2c]
push dword [edx + 0x10]
call fcn.00459578
add esp, 0xc
push dword [edi + 0xc]
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x10]
mov edx, dword [ebp - 0x24]
add eax, dword [edx + 0xc]
push eax
call fcn.00459578
add esp, 0xc
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx + 0x10]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0x2c]
or word [eax + 8], 0x200
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x2c]
mov al, byte [ebp - 0xe]
mov byte [ecx + 0xa], al
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
push edi
call fcn.0042137e
pop ecx
mov word [ebp - 0x76], ax
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
call fcn.0042137e
pop ecx
mov word [ebp - 0x78], ax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov cx, word [edi + 8]
mov eax, dword [ebp - 0x24]
or cx, word [eax + 8]
mov word [ebp - 0x74], cx
test byte [ebp - 0x74], 1
jne 0x422345
mov dx, word [ebp - 0x76]
and dx, word [ebp - 0x78]
test dl, 4
je 0x4221b3
mov ecx, dword [edi]
mov dword [ebp - 0x80], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov dword [ebp - 0x88], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x84], edx
mov byte [ebp - 0x71], 1
mov cl, byte [ebx]
sub cl, 0x59
je 0x422077
dec cl
je 0x422099
dec cl
je 0x4220bb
dec cl
je 0x4220dd
jmp 0x422137
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea edx, [ebp - 0x88]
push edx
call fcn.0040789c
add esp, 0xc
test eax, eax
jne 0x4221b7
jmp 0x422184
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea eax, [ebp - 0x88]
push eax
call fcn.00407954
add esp, 0xc
test eax, eax
jne 0x4221b7
jmp 0x422184
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea ecx, [ebp - 0x88]
push ecx
call fcn.004079a8
add esp, 0xc
test eax, eax
jne 0x4221b7
jmp 0x422184
cmp dword [ebp - 0x7c], 0
jne 0x4220ed
cmp dword [ebp - 0x80], 0
je 0x422345
cmp dword [ebp - 0x7c], 0xffffffff
jne 0x422112
cmp dword [ebp - 0x80], 0xffffffff
jne 0x422112
cmp dword [ebp - 0x84], 0x80000000
jne 0x422112
cmp dword [ebp - 0x88], 0
je 0x4221b7
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
call fcn.0045d013
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
jmp 0x422184
cmp dword [ebp - 0x7c], 0
jne 0x422147
cmp dword [ebp - 0x80], 0
je 0x422345
cmp dword [ebp - 0x7c], 0xffffffff
jne 0x422161
cmp dword [ebp - 0x80], 0xffffffff
jne 0x422161
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
call fcn.0045d0d4
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x88]
mov dword [eax], edx
mov edx, dword [ebp - 0x84]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + 8]
and ax, 0xbe00
or ax, 4
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], ax
jmp case.0x421502.0
mov byte [ebp - 0x71], 0
push edi
call fcn.0041b9be
pop ecx
fstp qword [ebp - 0x90]
push dword [ebp - 0x24]
call fcn.0041b9be
pop ecx
fstp qword [ebp - 0x98]
mov cl, byte [ebx]
sub cl, 0x59
je 0x4221e8
dec cl
je 0x4221ff
dec cl
je 0x422216
dec cl
je 0x42222d
jmp 0x422259
fld qword [ebp - 0x90]
fadd qword [ebp - 0x98]
fstp qword [ebp - 0x98]
jmp 0x4222da
fld qword [ebp - 0x90]
fsubr qword [ebp - 0x98]
fstp qword [ebp - 0x98]
jmp 0x4222da
fld qword [ebp - 0x90]
fmul qword [ebp - 0x98]
fstp qword [ebp - 0x98]
jmp 0x4222da
fld qword [ebp - 0x90]
fcomp dword [0x42733f]
fnstsw ax
sahf
je 0x422345
fld qword [ebp - 0x90]
fdivr qword [ebp - 0x98]
fstp qword [ebp - 0x98]
jmp 0x4222da
fld qword [ebp - 0x90]
call fcn.0045d4b8
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
fld qword [ebp - 0x98]
call fcn.0045d4b8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x7c], 0
jne 0x422291
cmp dword [ebp - 0x80], 0
je 0x422345
cmp dword [ebp - 0x7c], 0xffffffff
jne 0x4222ab
cmp dword [ebp - 0x80], 0xffffffff
jne 0x4222ab
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
call fcn.0045d0d4
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], edx
fild qword [ebp - 0x65c]
fstp qword [ebp - 0x98]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
call fcn.00406795
add esp, 8
test eax, eax
jne 0x422345
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x98]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x94]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2c]
mov dx, word [eax + 8]
and dx, 0xbe00
or dx, 8
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], dx
mov ax, word [ebp - 0x76]
or ax, word [ebp - 0x78]
test al, 8
jne case.0x421502.0
cmp byte [ebp - 0x71], 0
jne case.0x421502.0
push dword [ebp - 0x2c]
call fcn.0041ba1a
pop ecx
jmp case.0x421502.0
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
jmp case.0x421502.0
cmp dword [ebx + 4], 0
je case.0x421502.0
push 0
push 0
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
push edx
call fcn.0041bc70
add esp, 0xc
jmp case.0x421502.0
xor ecx, ecx
mov cl, byte [ebx + 3]
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x4a0], ecx
mov edi, dword [ebx + 8]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa4]
jge 0x422401
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov dword [ecx + eax*4], edi
test byte [edi + 9], 0x10
je 0x4223ea
push edi
call fcn.0041b625
pop ecx
test eax, eax
jne 0x4272a2
inc dword [ebp - 0x9c]
add edi, 0x28
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa4]
jl 0x4223c6
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x49c], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x490], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x494], edx
mov ecx, dword [ebp - 0x4a0]
mov ax, word [ecx + 8]
and ax, 0xbe00
or ax, 1
mov edx, dword [ebp - 0x4a0]
mov word [edx + 8], ax
mov byte [ebp - 0x487], 0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x24], eax
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
lea edx, [ebp - 0x4a0]
push edx
mov ecx, dword [ebp - 0x49c]
call dword [ecx + 0xc]
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x34], edx
cmp byte [ebp - 0x487], 0
je 0x4224c9
cmp dword [ebp - 0x48c], 0
je 0x4224b8
push dword [ebp - 0x4a0]
call fcn.0041fd8c
pop ecx
push eax
push 0x4683a6
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00404967
add esp, 0x10
mov esi, dword [ebp - 0x48c]
push dword [ebx + 4]
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.0041e557
add esp, 0xc
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
push dword [ebp - 0x4a0]
call fcn.0041b4e8
add esp, 8
push dword [ebp - 0x4a0]
call fcn.0041bd35
pop ecx
test eax, eax
jne 0x427281
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov cx, word [edi + 8]
mov eax, dword [ebp - 0x24]
or cx, word [eax + 8]
test cl, 1
je 0x42253e
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
jmp case.0x421502.0
push dword [ebp - 0x24]
call fcn.0041b959
pop ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
push edi
call fcn.0041b959
pop ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
mov dl, byte [ebx]
mov byte [ebp - 0xbd], dl
cmp byte [ebp - 0xbd], 0x55
jne 0x422594
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
and dword [ebp - 0xac], eax
and dword [ebp - 0xa8], edx
jmp 0x422740
cmp byte [ebp - 0xbd], 0x56
jne 0x4225ba
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
or dword [ebp - 0xac], eax
or dword [ebp - 0xa8], edx
jmp 0x422740
cmp dword [ebp - 0xb8], 0
jne 0x4225d0
cmp dword [ebp - 0xbc], 0
je 0x422740
cmp dword [ebp - 0xb8], 0
jne 0x4225e4
cmp dword [ebp - 0xbc], 0
jae 0x422632
jmp 0x4225e6
jge 0x422632
mov cl, 0xaf
sub cl, byte [ebp - 0xbd]
mov byte [ebp - 0xbd], cl
cmp dword [ebp - 0xb8], 0xffffffff
jne 0x422608
cmp dword [ebp - 0xbc], 0xffffffc0
jbe 0x42261f
jmp 0x42260a
jle 0x42261f
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
neg eax
adc edx, 0
neg edx
jmp 0x422626
mov eax, 0x40
xor edx, edx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
jne 0x422646
cmp dword [ebp - 0xbc], 0x40
jb 0x422680
jmp 0x422648
jl 0x422680
cmp dword [ebp - 0xa8], 0
jne 0x42265c
cmp dword [ebp - 0xac], 0
jae 0x422667
jmp 0x42265e
jge 0x422667
cmp byte [ebp - 0xbd], 0x57
jne 0x42266b
xor eax, eax
jmp 0x42266e
or eax, 0xffffffff
cdq
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
jmp 0x422740
push 8
lea ecx, [ebp - 0xac]
push ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.00459578
add esp, 0xc
cmp byte [ebp - 0xbd], 0x57
jne 0x4226c8
mov eax, dword [ebp - 0xbc]
mov ecx, eax
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
call fcn.0045d19c
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
jmp 0x422728
mov eax, dword [ebp - 0xbc]
mov ecx, eax
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
call fcn.0045d1d4
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xa8], 0
jne 0x422701
cmp dword [ebp - 0xac], 0
jae 0x422728
jmp 0x422703
jge 0x422728
mov eax, dword [ebp - 0xbc]
mov ecx, 0x40
sub ecx, eax
mov eax, 0xffffffff
mov edx, eax
call fcn.0045d19c
or dword [ebp - 0xb4], eax
or dword [ebp - 0xb0], edx
push 8
lea eax, [ebp - 0xb4]
push eax
lea edx, [ebp - 0xac]
push edx
call fcn.00459578
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xac]
mov dword [ecx], eax
mov eax, dword [ebp - 0xa8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2c]
mov cx, word [edx + 8]
and cx, 0xbe00
or cx, 4
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], cx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
push edi
call fcn.0041ba88
pop ecx
mov eax, dword [ebx + 8]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 4
jne 0x4227d4
mov al, byte [ebp - 0xe]
push eax
push 0x43
push edi
call fcn.0042129c
add esp, 0xc
test byte [edi + 8], 4
jne 0x4227d4
cmp dword [ebx + 8], 0
jne 0x4227c8
mov esi, 0x14
jmp 0x4272ca
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov dx, word [edi + 8]
and dx, 0xbe00
or dx, 4
mov word [edi + 8], dx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 4
je case.0x421502.0
push edi
call fcn.0041bab0
pop ecx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 9], 0x40
je 0x422829
push edi
call fcn.0041b68d
pop ecx
mov esi, eax
jmp 0x42282b
xor esi, esi
mov al, byte [ebp - 0xe]
push eax
mov dl, byte [ebx + 8]
push edx
push edi
call fcn.0041bb38
add esp, 0xc
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dx, word [edi + 8]
mov word [ebp - 0xc8], dx
mov ecx, dword [ebp - 0x28]
mov ax, word [ecx + 8]
mov word [ebp - 0xca], ax
mov dx, word [ebp - 0xc8]
or dx, word [ebp - 0xca]
test dl, 1
je 0x422910
test byte [ebx + 3], 0x80
je 0x4228c9
test byte [ebp - 0xc8], 1
je 0x4228ba
test byte [ebp - 0xca], 1
je 0x4228ba
test byte [ebp - 0xc9], 1
jne 0x4228ba
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
jmp 0x4229f4
mov dword [ebp - 0xc4], 1
jmp 0x4229f4
test byte [ebx + 3], 0x20
je 0x4228fa
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov cx, word [edx + 8]
and cx, 0xbe00
or cx, 1
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], cx
jmp case.0x421502.0
test byte [ebx + 3], 0x10
je case.0x421502.0
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
mov cl, byte [ebx + 3]
and cl, 0x47
mov byte [ebp - 0xc5], cl
cmp byte [ebp - 0xc5], 0x43
jl 0x42295a
movzx eax, word [edi + 8]
and eax, 0xe
cmp eax, 2
jne 0x42293c
push 0
push edi
call fcn.0042122b
add esp, 8
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx + 8]
and ecx, 0xe
cmp ecx, 2
jne 0x4229a1
push 0
push dword [ebp - 0x28]
call fcn.0042122b
add esp, 8
jmp 0x4229a1
cmp byte [ebp - 0xc5], 0x42
jne 0x4229a1
test byte [edi + 8], 2
jne 0x42297e
test byte [edi + 8], 0xc
je 0x42297e
push 1
mov al, byte [ebp - 0xe]
push eax
push edi
call fcn.0041b74a
add esp, 0xc
mov edx, dword [ebp - 0x28]
test byte [edx + 8], 2
jne 0x4229a1
mov ecx, dword [ebp - 0x28]
test byte [ecx + 8], 0xc
je 0x4229a1
push 1
mov al, byte [ebp - 0xe]
push eax
push dword [ebp - 0x28]
call fcn.0041b74a
add esp, 0xc
test byte [edi + 9], 0x40
je 0x4229b7
push edi
call fcn.0041b68d
pop ecx
and word [ebp - 0xc8], 0xbfff
mov edx, dword [ebp - 0x28]
test byte [edx + 9], 0x40
je 0x4229d2
push dword [ebp - 0x28]
call fcn.0041b68d
pop ecx
and word [ebp - 0xca], 0xbfff
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x41], 0
jne 0x4272a2
push dword [ebx + 0x10]
push edi
push dword [ebp - 0x28]
call fcn.0041ee3e
add esp, 0xc
mov dword [ebp - 0xc4], eax
xor eax, eax
mov al, byte [ebx]
add eax, 0xffffffb2
cmp eax, 4
ja case.default.0x422a04
jmp dword [eax*4 + 0x422a0b]
cmp dword [ebp - 0xc4], 0
sete dl
and edx, 1
mov dword [ebp - 0xc4], edx
jmp 0x422a9b
cmp dword [ebp - 0xc4], 0
setne cl
and ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x422a9b
cmp dword [ebp - 0xc4], 0
setl al
and eax, 1
mov dword [ebp - 0xc4], eax
jmp 0x422a9b
cmp dword [ebp - 0xc4], 0
setle dl
and edx, 1
mov dword [ebp - 0xc4], edx
jmp 0x422a9b
cmp dword [ebp - 0xc4], 0
setg cl
and ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x422a9b
cmp dword [ebp - 0xc4], 0
setge al
and eax, 1
mov dword [ebp - 0xc4], eax
test byte [ebx + 3], 0x20
je 0x422ad7
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + 8]
and ax, 0xbe00
or ax, 4
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], ax
mov eax, dword [ebp - 0xc4]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x422ae7
cmp dword [ebp - 0xc4], 0
je 0x422ae7
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
mov dx, word [ebp - 0xc8]
mov word [edi + 8], dx
mov ecx, dword [ebp - 0x28]
mov ax, word [ebp - 0xca]
mov word [ecx + 8], ax
jmp case.0x421502.0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x30], edx
jmp case.0x421502.0
test byte [ebx + 3], 1
jne 0x422b1b
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xdc], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd8], eax
xor ebx, ebx
cmp ebx, dword [ebp - 0xd0]
jge 0x422bd7
cmp dword [ebp - 0x30], 0
je 0x422b5b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + ebx*4]
jmp 0x422b5d
mov eax, ebx
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + ebx*4 + 0x14]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 0x10]
xor edx, edx
mov dl, byte [ecx + ebx]
mov dword [ebp - 0xe4], edx
push dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
add ecx, eax
mov edx, ecx
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
push edx
add eax, dword [ebp - 0xd4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
push eax
call fcn.0041ee3e
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x422bca
cmp dword [ebp - 0xe4], 0
je 0x422bd7
neg dword [ebp - 0x14]
jmp 0x422bd7
inc ebx
cmp ebx, dword [ebp - 0xd0]
jl 0x422b4d
xor ecx, ecx
mov dword [ebp - 0x30], ecx
jmp case.0x421502.0
cmp dword [ebp - 0x14], 0
jge 0x422bf3
mov eax, dword [ebx + 4]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
cmp dword [ebp - 0x14], 0
jne 0x422c05
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
mov ecx, dword [ebx + 0xc]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 1
je 0x422c2f
mov dword [ebp - 0xe8], 2
jmp 0x422c4a
push edi
call fcn.0041b959
pop ecx
cmp edx, 0
jne 0x422c3e
cmp eax, 0
setne al
and eax, 1
mov dword [ebp - 0xe8], eax
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
test byte [ecx + 8], 1
je 0x422c6e
mov dword [ebp - 0xec], 2
jmp 0x422c8b
push dword [ebp - 0x24]
call fcn.0041b959
pop ecx
cmp edx, 0
jne 0x422c7f
cmp eax, 0
setne al
and eax, 1
mov dword [ebp - 0xec], eax
cmp byte [ebx], 0x48
jne 0x422cb2
mov edx, dword [ebp - 0xe8]
lea edx, [edx + edx*2]
lea ecx, [edx + 0x46426c]
mov eax, dword [ebp - 0xec]
xor edx, edx
mov dl, byte [ecx + eax]
mov dword [ebp - 0xe8], edx
jmp 0x422cd2
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*2]
lea eax, [ecx + 0x464275]
mov edx, dword [ebp - 0xec]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0xe8], 2
jne 0x422d06
mov edx, dword [ebp - 0x2c]
mov cx, word [edx + 8]
and cx, 0xbe00
or cx, 1
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], cx
jmp case.0x421502.0
mov eax, dword [ebp - 0xe8]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x2c]
mov dx, word [eax + 8]
and dx, 0xbe00
or dx, 4
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], dx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
test byte [edi + 8], 1
jne case.0x421502.0
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], 4
push edi
call fcn.0041b959
pop ecx
cmp edx, 0
jne 0x422d77
cmp eax, 0
setne al
and eax, 1
cmp eax, 1
sbb eax, eax
neg eax
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
call fcn.0041bbef
pop ecx
test byte [edi + 8], 1
jne case.0x421502.0
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], 4
push edi
call fcn.0041b959
pop ecx
not eax
not edx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [edx + ecx], 0
je 0x422dff
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc8]
mov eax, dword [ebx + 4]
mov byte [ecx + eax], 1
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 1
je 0x422e31
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xf0], eax
jmp 0x422e65
push edi
call fcn.0041b9be
pop ecx
fcomp dword [0x42733f]
fnstsw ax
sahf
setne dl
and edx, 1
mov dword [ebp - 0xf0], edx
cmp byte [ebx], 0x2e
jne 0x422e65
mov ecx, dword [ebp - 0xf0]
cmp ecx, 1
sbb eax, eax
neg eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je case.0x421502.0
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 1
je case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 1
jne case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edx, dword [ebx + 8]
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov edi, dword [edx + ecx*4]
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x104], eax
mov edx, dword [edi]
mov dword [ebp - 0x100], edx
push edi
call fcn.0041e75b
pop ecx
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [edi + 0x3c]
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 0x48]
je 0x423099
cmp byte [edi + 0x19], 0
je 0x422f72
cmp dword [ebp - 0x100], 0
jne 0x422f61
mov ecx, dword [edi + 0x10]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x128], edx
mov dword [edi + 0x44], edx
mov dword [edi + 0x40], edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x10]
mov dword [edi + 0x4c], ecx
jmp 0x423005
push dword [ebp - 0x110]
call fcn.0041bbef
pop ecx
jmp 0x423420
test byte [edi + 0x1b], 4
jne 0x422fb0
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x100]
call fcn.0041590f
add esp, 8
lea edx, [ebp - 0x128]
push edx
push dword [ebp - 0x100]
call fcn.00415df2
add esp, 8
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0xf8]
mov dword [edi + 0x40], eax
jmp 0x422fda
lea edx, [edi + 0x40]
push edx
push dword [ebp - 0x100]
call fcn.0041594e
add esp, 8
lea ecx, [ebp - 0x128]
push ecx
push dword [ebp - 0x100]
call fcn.00415e05
add esp, 8
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x40]
cmp eax, dword [ebp - 0x128]
ja 0x422fed
mov edx, dword [edi + 0x40]
mov dword [edi + 0x44], edx
jmp 0x422ff6
mov ecx, dword [ebp - 0x128]
mov dword [edi + 0x44], ecx
mov eax, dword [edi + 0x40]
mov edx, dword [ebp - 0xc]
cmp eax, dword [edx + 0x58]
ja 0x427281
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x48]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0x4c]
cmp byte [edx], 0x80
jae 0x423027
mov ecx, dword [edi + 0x4c]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0x120], eax
mov dl, 1
jmp 0x42303b
lea ecx, [ebp - 0x120]
push ecx
push dword [edi + 0x4c]
call fcn.0040767b
add esp, 8
mov edx, eax
xor eax, eax
mov al, dl
mov dword [edi + 0x48], eax
mov word [edi + 0x16], 0
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x120]
mov dword [ecx], eax
cmp dword [ebp - 0x120], 0x18003
ja 0x42306d
mov edx, dword [edi + 0x40]
cmp edx, dword [ebp - 0x120]
jae 0x42307f
push 0x11b3f
call fcn.00457d77
pop ecx
mov esi, eax
jmp case.0x421502.0
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x120]
jae 0x4230a9
xor edx, edx
mov dword [edi + 0x4c], edx
xor ecx, ecx
mov dword [edi + 0x44], ecx
jmp 0x4230a9
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0xfc]
jg 0x4232e3
mov edx, dword [edi + 0x48]
mov ecx, dword [ebp - 0x104]
cmp edx, dword [ecx]
jae 0x4232a5
cmp dword [edi + 0x4c], 0
jne 0x423118
push 0x28
push 0
lea eax, [ebp - 0x4c8]
push eax
call fcn.004595e8
add esp, 0xc
lea edx, [ebp - 0x4c8]
push edx
mov cl, byte [edi + 0x1b]
and cl, 4
cmp cl, 1
sbb eax, eax
neg eax
push eax
mov edx, dword [ebp - 0x104]
push dword [edx]
push 0
push dword [ebp - 0x100]
call fcn.0041bf9e
add esp, 0x14
mov esi, eax
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x114], eax
jmp 0x423121
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x114], edx
movzx ecx, word [edi + 0x16]
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x120], ecx
mov eax, dword [edi + 0x48]
add eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [edx]
add ecx, dword [ebp - 0x114]
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x118]
cmp byte [eax], 0x80
jae 0x423186
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebp - 0x12c], ecx
inc dword [ebp - 0x118]
jmp 0x4231a5
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x118]
call fcn.0040767b
add esp, 8
xor edx, edx
mov dl, al
add dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x12c]
mov dword [edi + ecx*4 + 0x54], eax
push dword [ebp - 0x12c]
call fcn.0041e8b3
pop ecx
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
add dword [ebp - 0x120], edx
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x124]
jae 0x4231f0
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x118], eax
jmp 0x42322b
inc dword [ebp - 0x10c]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x120]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0xfc]
jg 0x42322b
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jb 0x423163
mov ax, word [ebp - 0x10c]
mov word [edi + 0x16], ax
mov edx, dword [ebp - 0x118]
sub edx, dword [ebp - 0x114]
mov dword [edi + 0x48], edx
cmp dword [edi + 0x4c], 0
jne 0x423261
lea ecx, [ebp - 0x4c8]
push ecx
call fcn.0041b8f7
pop ecx
mov word [ebp - 0x4c0], 1
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x11c]
jb 0x423288
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x11c]
ja 0x423293
mov ecx, dword [edi + 0x40]
cmp ecx, dword [ebp - 0x120]
jne 0x423293
mov eax, dword [edi + 0x40]
cmp eax, dword [ebp - 0x120]
jae 0x4232a5
push 0x11b93
call fcn.00457d77
pop ecx
mov esi, eax
jmp case.0x421502.0
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0xfc]
jg 0x4232e3
cmp byte [ebx + 1], 0xf8
jne 0x4232d2
push 0x800
push dword [ebx + 0x10]
push dword [ebp - 0x110]
call fcn.0041bd60
add esp, 0xc
jmp 0x423420
push dword [ebp - 0x110]
call fcn.0041bbef
pop ecx
jmp 0x423420
mov edx, dword [ebp - 0x110]
test word [edx + 8], 0x2460
je 0x4232fd
push dword [ebp - 0x110]
call fcn.0041bbef
pop ecx
mov ecx, dword [ebp - 0xfc]
mov eax, dword [edi + ecx*4 + 0x54]
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [edx + ecx*4 + 4]
cmp eax, dword [edi + 0x44]
ja 0x42334e
push dword [ebp - 0x110]
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [edx + ecx*4]
add eax, dword [edi + 0x4c]
push eax
call fcn.0041ea21
add esp, 0xc
jmp 0x423414
test byte [ebx + 3], 0xc0
je 0x42336c
cmp dword [ebp - 0x12c], 0xc
jb 0x423366
test byte [ebp - 0x12c], 1
je 0x423382
test byte [ebx + 3], 0x80
jne 0x423382
push dword [ebp - 0x12c]
call fcn.0041e8b3
pop ecx
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x4233ac
push dword [ebp - 0x110]
push dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 0xd
ja 0x42339f
lea edx, [ebp - 0xf8]
jmp 0x4233a1
xor edx, edx
push edx
call fcn.0041ea21
add esp, 0xc
jmp 0x423414
push dword [ebp - 0x110]
mov al, byte [edi + 0x1b]
and al, 4
cmp al, 1
sbb ecx, ecx
neg ecx
push ecx
push dword [ebp - 0x108]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0xfc]
push dword [eax + edx*4]
push dword [ebp - 0x100]
call fcn.0041bf9e
add esp, 0x14
mov esi, eax
test esi, esi
jne case.0x421502.0
push dword [ebp - 0x110]
push dword [ebp - 0x12c]
mov eax, dword [ebp - 0x110]
push dword [eax + 0x10]
call fcn.0041ea21
add esp, 0xc
mov edx, dword [ebp - 0x110]
and word [edx + 8], 0xefff
mov ecx, dword [ebp - 0x110]
mov al, byte [ebp - 0xe]
mov byte [ecx + 0xa], al
mov edx, dword [ebp - 0x110]
test byte [edx + 9], 0x10
je case.0x421502.0
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x10], 0
je case.0x421502.0
mov eax, dword [ebp - 0x110]
mov dx, word [eax + 8]
and dx, 0x12
mov word [ebp - 0x12e], dx
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x110]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x108]
add eax, 2
push eax
push dword [ebp - 0x110]
call fcn.0041b5fa
add esp, 8
test eax, eax
jne 0x4272a2
push dword [ebp - 0x108]
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x110]
push dword [edx + 0x10]
call fcn.00459578
add esp, 0xc
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
mov edx, dword [ebp - 0x108]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
mov edx, dword [ebp - 0x108]
mov byte [eax + edx + 1], 0
mov cx, word [ebp - 0x12e]
or cx, 0x200
mov eax, dword [ebp - 0x110]
mov word [eax + 8], cx
jmp case.0x421502.0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x138], edx
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
jmp 0x423520
mov al, byte [ebp - 0xe]
push eax
mov dl, byte [ebp - 0x139]
push edx
push edi
call fcn.0042129c
add esp, 0xc
add edi, 0x28
mov ecx, dword [ebp - 0x138]
inc dword [ebp - 0x138]
mov al, byte [ecx]
mov byte [ebp - 0x139], al
test al, al
jne 0x423509
jmp case.0x421502.0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0x154], eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0x168], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x168]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x160], eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x168], edx
mov ecx, dword [ebp - 0x168]
dec ecx
mov eax, ecx
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x160]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [edx + 0x57]
mov dword [ebp - 0x170], ecx
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x16c], 0
je 0x4235fe
mov ebx, dword [ebp - 0x160]
mov al, byte [ebp - 0xe]
push eax
mov edx, dword [ebp - 0x16c]
inc dword [ebp - 0x16c]
mov cl, byte [edx]
push ecx
mov eax, ebx
add ebx, 0x28
push eax
call fcn.0042129c
add esp, 0xc
mov edx, dword [ebp - 0x16c]
cmp byte [edx], 0
jne 0x4235d2
mov ebx, dword [ebp - 0x164]
push dword [ebp - 0x170]
push ebx
call fcn.0041e792
add esp, 8
mov dword [ebp - 0x15c], eax
mov dword [ebx + 0x1c], eax
push dword [ebp - 0x15c]
call fcn.0041e8b3
pop ecx
mov dword [ebp - 0x17c], eax
test byte [ebx + 9], 0x40
je 0x42365f
cmp dword [ebp - 0x144], 0
jne 0x423644
cmp dword [ebp - 0x148], 0
je 0x42364f
push ebx
call fcn.0041b68d
pop ecx
jmp 0x42365f
mov edx, dword [ebx]
add dword [ebp - 0x154], edx
mov ecx, dword [ebx]
sub dword [ebp - 0x17c], ecx
mov eax, dword [ebp - 0x17c]
cdq
add dword [ebp - 0x148], eax
adc dword [ebp - 0x144], edx
cmp dword [ebp - 0x15c], 0x7f
ja 0x423682
mov ecx, 1
jmp 0x423696
mov eax, dword [ebp - 0x15c]
xor edx, edx
push edx
push eax
call fcn.00407701
add esp, 8
mov ecx, eax
add edi, ecx
sub ebx, 0x28
cmp ebx, dword [ebp - 0x160]
jae 0x423604
cmp edi, 0x7e
jg 0x4236af
inc edi
jmp 0x4236de
mov eax, edi
cdq
push edx
push eax
call fcn.00407701
add esp, 8
mov dword [ebp - 0x158], eax
add edi, dword [ebp - 0x158]
mov eax, edi
cdq
push edx
push eax
call fcn.00407701
add esp, 8
cmp eax, dword [ebp - 0x158]
jle 0x4236de
inc edi
mov eax, edi
cdq
add eax, dword [ebp - 0x148]
adc edx, dword [ebp - 0x144]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x58]
cdq
cmp edx, dword [ebp - 0x14c]
jne 0x423715
cmp eax, dword [ebp - 0x150]
jae 0x42371b
jmp 0x427281
jl 0x427281
mov eax, dword [ebp - 0x150]
push eax
push dword [ebp - 0x2c]
call fcn.0041b5fa
add esp, 8
test eax, eax
jne 0x4272a2
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x140], ecx
cmp edi, 0x80
jae 0x423757
mov eax, edi
mov edx, dword [ebp - 0x140]
mov byte [edx], al
mov cl, 1
jmp 0x42376c
mov eax, edi
cdq
push edx
push eax
push dword [ebp - 0x140]
call fcn.004073fd
add esp, 0xc
mov ecx, eax
xor eax, eax
mov al, cl
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x178], edi
mov ebx, dword [ebp - 0x160]
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x80
jae 0x4237b0
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x174]
mov al, byte [ebp - 0x15c]
mov byte [edx + ecx], al
mov dl, 1
jmp 0x4237d1
mov eax, dword [ebp - 0x15c]
xor edx, edx
push edx
push eax
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x174]
push ecx
call fcn.004073fd
add esp, 0xc
mov edx, eax
xor eax, eax
mov al, dl
add dword [ebp - 0x174], eax
push dword [ebp - 0x15c]
push ebx
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x178]
push ecx
call fcn.0041e8ce
add esp, 0xc
add eax, dword [ebp - 0x178]
mov dword [ebp - 0x178], eax
add ebx, 0x28
cmp ebx, dword [ebp - 0x164]
jbe 0x423782
mov eax, dword [ebp - 0x150]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], 0x10
cmp dword [ebp - 0x154], 0
je 0x423844
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x154]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2c]
or word [ecx + 8], 0x4000
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0xa], 1
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [edx]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
lea eax, [ebp - 0x184]
push eax
push dword [ebp - 0x188]
call fcn.00419b0f
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x184]
mov dword [eax], edx
mov edx, dword [ebp - 0x180]
mov dword [eax + 4], edx
jmp case.0x421502.0
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x18c], 0
jne 0x423a08
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x9c], 0
jle 0x4238f4
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00404967
add esp, 0xc
mov esi, 5
jmp case.0x421502.0
push dword [ebp - 0x190]
call fcn.004067c6
pop ecx
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0xc]
add edx, dword [ecx + 0x1f0]
push edx
push 0
push dword [ebp - 0xc]
call fcn.0044b087
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [ebp - 0x194]
add eax, 0x21
xor edx, edx
push edx
push eax
push dword [ebp - 0xc]
call fcn.0040476a
add esp, 0xc
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je case.0x421502.0
mov ecx, dword [ebp - 0x198]
add ecx, 0x20
mov eax, dword [ebp - 0x198]
mov dword [eax], ecx
mov edx, dword [ebp - 0x194]
inc edx
push edx
push dword [ebp - 0x190]
mov ecx, dword [ebp - 0x198]
push dword [ecx]
call fcn.00459578
add esp, 0xc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3f], 0
je 0x4239a3
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x3f], 0
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x46], 1
jmp 0x4239ac
mov eax, dword [ebp - 0xc]
inc dword [eax + 0x1f0]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x1e8]
mov eax, dword [ebp - 0x198]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x198]
mov dword [edx + 0x1e8], ecx
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x1f8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0x1fc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x200]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x204]
mov dword [eax + 0x14], ecx
jmp case.0x421502.0
xor eax, eax
mov dword [ebp - 0x19c], eax
mov edx, dword [ebp - 0xc]
mov ebx, dword [edx + 0x1e8]
jmp 0x423a24
inc dword [ebp - 0x19c]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x423a3c
push dword [ebp - 0x190]
push dword [ebx]
call fcn.0040691b
add esp, 8
test eax, eax
jne 0x423a1b
test ebx, ebx
jne 0x423a67
push dword [ebp - 0x190]
push str.no_such_savepoint:__s
push dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
call fcn.00404967
add esp, 0x10
mov esi, 1
jmp case.0x421502.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x9c], 0
jle 0x423a9d
cmp dword [ebp - 0x18c], 1
jne 0x423a9d
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0xc
mov esi, 5
jmp case.0x421502.0
cmp dword [ebx + 0x18], 0
jne 0x423aac
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x46], 0
jne 0x423ab0
xor edx, edx
jmp 0x423ab5
mov edx, 1
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 0
je 0x423b2b
cmp dword [ebp - 0x18c], 1
jne 0x423b2b
push 1
push dword [ebp + 8]
call fcn.0041e090
add esp, 8
mov esi, eax
test eax, eax
jne 0x427262
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x3f], 1
push dword [ebp + 8]
call fcn.0041e10b
pop ecx
cmp eax, 5
jne 0x423b19
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x3f], 0
mov esi, 5
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x50], esi
jmp 0x427262
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x46], 0
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x50]
jmp 0x423c30
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x1f0]
sub edx, dword [ebp - 0x19c]
dec edx
mov dword [ebp - 0x19c], edx
cmp dword [ebp - 0x18c], 2
jne 0x423ba0
mov ecx, dword [ebp - 0xc]
test byte [ecx + 0x18], 2
setne al
and eax, 1
mov dword [ebp - 0x1a4], eax
xor edi, edi
jmp 0x423b96
cmp dword [ebp - 0x1a4], 0
sete al
and eax, 1
push eax
push 0x204
mov edx, edi
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
push dword [eax + edx + 4]
call fcn.004155e0
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4272ca
inc edi
mov eax, dword [ebp - 0xc]
cmp edi, dword [eax + 0x14]
jl 0x423b61
jmp 0x423ba8
xor edx, edx
mov dword [ebp - 0x1a4], edx
xor edi, edi
jmp 0x423bda
push dword [ebp - 0x19c]
push dword [ebp - 0x18c]
mov eax, edi
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
push dword [ecx + eax + 4]
call fcn.00415760
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4272ca
inc edi
mov eax, dword [ebp - 0xc]
cmp edi, dword [eax + 0x14]
jl 0x423bac
cmp dword [ebp - 0x1a4], 0
je 0x423c30
push dword [ebp - 0xc]
call fcn.0041faec
pop ecx
push dword [ebp - 0xc]
call fcn.00432379
pop ecx
mov edx, dword [ebp - 0xc]
or dword [edx + 0x18], 2
jmp 0x423c30
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x1e8]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1e8], edx
push eax
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
mov eax, dword [ebp - 0xc]
dec dword [eax + 0x1f0]
mov edx, dword [ebp - 0xc]
cmp ebx, dword [edx + 0x1e8]
jne 0x423c06
cmp dword [ebp - 0x18c], 1
jne 0x423c70
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1e8], ecx
push ebx
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
cmp dword [ebp - 0x1a0], 0
jne 0x423c9a
mov edx, dword [ebp - 0xc]
dec dword [edx + 0x1f0]
jmp 0x423c9a
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x1fc], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [edx + 0x200], ecx
mov ecx, dword [ebx + 0x14]
mov dword [edx + 0x204], ecx
cmp dword [ebp - 0x1a0], 0
jne case.0x421502.0
push dword [ebp - 0x19c]
push dword [ebp - 0x18c]
push dword [ebp - 0xc]
call fcn.0044b087
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4272ca
jmp case.0x421502.0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x1ac], edx
cmp dword [ebp - 0x1a8], 0
je 0x423cf1
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x3f], 0
je 0x423cf5
xor eax, eax
jmp 0x423cfa
mov eax, 1
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x423d3f
cmp dword [ebp - 0x1ac], 0
jne 0x423d3f
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x9c], 0
jle 0x423d3f
push str.cannot_commit_transaction___SQL_statements_in_progress
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00404967
add esp, 0xc
mov esi, 5
jmp case.0x421502.0
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dl, byte [eax + 0x3f]
cmp edx, dword [ebp - 0x1a8]
je 0x423df3
cmp dword [ebp - 0x1ac], 0
je 0x423d75
push 0x204
push dword [ebp - 0xc]
call fcn.00456873
add esp, 8
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x3f], 1
jmp 0x423dcd
push 1
push dword [ebp + 8]
call fcn.0041e090
add esp, 8
mov esi, eax
test eax, eax
jne 0x427262
mov dl, byte [ebp - 0x1a8]
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x3f], dl
push dword [ebp + 8]
call fcn.0041e10b
pop ecx
cmp eax, 5
jne 0x423dcd
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov dword [eax + 0x4c], edx
mov cl, 1
sub cl, byte [ebp - 0x1a8]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x3f], cl
mov esi, 5
mov edx, dword [ebp + 8]
mov dword [edx + 0x50], esi
jmp 0x427262
push dword [ebp - 0xc]
call fcn.004564f5
pop ecx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x50], 0
jne 0x423de9
mov esi, 0x65
jmp 0x427262
mov esi, 1
jmp 0x427262
cmp dword [ebp - 0x1a8], 0
jne 0x423e03
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x423e18
cmp dword [ebp - 0x1ac], 0
je 0x423e13
mov eax, str.cannot_rollback___no_transaction_is_active
jmp 0x423e18
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0xc
mov esi, 1
jmp case.0x421502.0
cmp dword [ebx + 8], 0
je 0x423e4e
mov eax, dword [ebp - 0xc]
test byte [eax + 0x1b], 2
je 0x423e4e
mov esi, 8
jmp 0x4272ca
mov eax, dword [ebx + 4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x423fa3
push dword [ebx + 8]
push dword [ebp - 0x1b4]
call fcn.00414b60
add esp, 8
mov esi, eax
cmp esi, 5
jne 0x423ea2
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov dword [eax + 0x4c], edx
mov esi, 5
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x50], esi
jmp 0x427262
test esi, esi
jne 0x4272ca
cmp dword [ebx + 8], 0
je 0x423f71
mov eax, dword [ebp + 8]
test byte [eax + 0x58], 0x80
je 0x423f71
mov edx, dword [ebp - 0xc]
cmp byte [edx + 0x3f], 0
je 0x423eda
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x98], 1
jle 0x423f71
mov eax, dword [ebp + 8]
cmp dword [eax + 0x68], 0
jne 0x423f04
mov edx, dword [ebp - 0xc]
inc dword [edx + 0x1f4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x1f0]
mov edx, dword [ebp - 0xc]
add eax, dword [edx + 0x1f4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x68], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x68]
dec edx
push edx
push 0
push dword [ebp - 0xc]
call fcn.0044b087
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x423f35
mov eax, dword [ebp + 8]
push dword [eax + 0x68]
push dword [ebp - 0x1b4]
call fcn.0041573f
add esp, 8
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x1f8]
mov dword [eax + 0x98], ecx
mov ecx, dword [edx + 0x1fc]
mov dword [eax + 0x9c], ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x200]
mov dword [eax + 0xa0], ecx
mov ecx, dword [edx + 0x204]
mov dword [eax + 0xa4], ecx
lea eax, [ebp - 0x1b8]
push eax
push 1
push dword [ebp - 0x1b4]
call fcn.00419a70
add esp, 0xc
mov edx, dword [ebx + 4]
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + edx + 0xc]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1bc], ecx
jmp 0x423fb1
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1bc], eax
cmp byte [ebx + 3], 0
je case.0x421502.0
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebx + 0xc]
jne 0x423fd5
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [ebx + 0x10]
je case.0x421502.0
mov eax, dword [ebp + 8]
push dword [eax + 0x2c]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
push str.database_schema_has_changed
push dword [ebp - 0xc]
call fcn.004048da
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebx + 4]
shl ecx, 4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 0xc]
mov eax, dword [ecx]
cmp eax, dword [ebp - 0x1b8]
je 0x424024
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.00432345
add esp, 8
mov edx, dword [ebp + 8]
or byte [edx + 0x58], 0x20
mov esi, 0x11
jmp case.0x421502.0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x1c8], edx
lea ecx, [ebp - 0x1c0]
push ecx
push dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
push dword [ecx + eax + 4]
call fcn.00419a70
add esp, 0xc
mov eax, dword [ebp - 0x1c0]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov ecx, dword [ebx + 4]
shl ecx, 4
add edx, ecx
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
call fcn.0041ba88
pop ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
push eax
push dword [ebx + 8]
mov edx, dword [ebp - 0x1cc]
push dword [edx + 4]
call fcn.00419aba
add esp, 0xc
mov esi, eax
cmp dword [ebx + 8], 1
jne 0x4240ea
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
or dword [eax + 0x18], 2
jmp 0x424101
cmp dword [ebx + 8], 2
jne 0x424101
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [ebx + 4], 1
jne case.0x421502.0
push dword [ebp - 0xc]
call fcn.0041faec
pop ecx
mov eax, dword [ebp + 8]
and byte [eax + 0x58], 0xdf
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x1d0], edx
cmp dword [ebp - 0x1d0], 0
je case.0x421502.54
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx + 8]
je case.0x421502.0
mov edx, dword [ebp + 8]
test byte [edx + 0x58], 0x20
je 0x424160
mov esi, 0x204
jmp case.0x421502.0
xor eax, eax
mov dword [ebp - 0x1d4], eax
xor edx, edx
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebp - 0x1e0]
shl eax, 4
add ecx, eax
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1e8], ecx
cmp byte [ebx], 0x37
jne 0x4241df
mov dword [ebp - 0x1e4], 1
mov eax, dword [ebp - 0x1ec]
mov edx, dword [eax + 0xc]
mov cl, byte [edx + 0x4c]
mov eax, dword [ebp + 8]
cmp cl, byte [eax + 0x57]
jae 0x4241e7
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 0xc]
mov al, byte [ecx + 0x4c]
mov edx, dword [ebp + 8]
mov byte [edx + 0x57], al
jmp 0x4241e7
xor ecx, ecx
mov dword [ebp - 0x1e4], ecx
test byte [ebx + 3], 2
je 0x42422e
mov eax, dword [ebp - 0x1dc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
call fcn.0041ba88
pop ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 2
jge 0x42422e
push 0x11ee7
call fcn.00457d77
pop ecx
mov esi, eax
jmp 0x4272ca
cmp byte [ebx + 1], 0xfa
jne 0x42425b
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x1d8]
movzx ecx, word [edx + 6]
mov eax, dword [ebp - 0x1d8]
movzx edx, word [eax + 8]
add ecx, edx
mov dword [ebp - 0x1d4], ecx
jmp 0x42426a
cmp byte [ebx + 1], 0xf2
jne 0x42426a
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x1d4], ecx
push 1
push dword [ebp - 0x1e0]
push dword [ebp - 0x1d4]
push dword [ebx + 4]
push dword [ebp + 8]
call fcn.00421159
add esp, 0x14
mov edi, eax
test edi, edi
je 0x4272a2
mov byte [edi + 0x19], 1
or byte [edi + 0x1b], 8
mov eax, dword [ebp - 0x1dc]
mov dword [edi + 0x1c], eax
push dword [edi]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e8]
call fcn.00415857
add esp, 0x14
mov esi, eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 8], eax
xor edx, edx
mov dl, byte [ebx + 3]
and edx, 1
push edx
push dword [edi]
call fcn.0041aa4d
add esp, 8
cmp byte [ebx + 1], 0xfa
setne cl
and ecx, 1
and cl, 1
shl ecx, 2
mov al, byte [edi + 0x1b]
and al, 0xfb
or cl, al
mov byte [edi + 0x1b], cl
jmp case.0x421502.0
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp + 8]
call fcn.00421159
add esp, 0x14
mov edi, eax
test edi, edi
je 0x4272a2
mov byte [edi + 0x19], 1
or byte [edi + 0x1b], 1
push dword [0x464280]
xor eax, eax
mov al, byte [ebx + 3]
or eax, 5
push eax
lea edx, [edi + 4]
push edx
push dword [ebp - 0xc]
push 0
mov ecx, dword [ebp - 0xc]
push dword [ecx]
call fcn.00413fb5
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x424361
push 1
push dword [edi + 4]
call fcn.00414b60
add esp, 8
mov esi, eax
test esi, esi
jne 0x4243d8
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1f0], eax
test eax, eax
je 0x4243bf
xor edx, edx
mov dl, byte [ebx + 3]
or edx, 2
push edx
lea ecx, [ebp - 0x1f4]
push ecx
push dword [edi + 4]
call fcn.00419686
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4243b9
mov eax, dword [ebp - 0x1f0]
mov dword [edi + 8], eax
push dword [edi]
push dword [ebp - 0x1f0]
push 1
push dword [ebp - 0x1f4]
push dword [edi + 4]
call fcn.00415857
add esp, 0x14
mov esi, eax
and byte [edi + 0x1b], 0xfb
jmp 0x4243d8
push dword [edi]
push 0
push 1
push 1
push dword [edi + 4]
call fcn.00415857
add esp, 0x14
mov esi, eax
or byte [edi + 0x1b], 4
cmp byte [ebx + 3], 8
setne al
and eax, 1
and al, 1
shl eax, 3
mov dl, byte [edi + 0x1b]
and dl, 0xf7
or al, dl
mov byte [edi + 0x1b], al
jmp case.0x421502.0
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp + 8]
call fcn.00421159
add esp, 0x14
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x4272a2
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
push dword [ebp - 0x1f8]
push dword [ebx + 0xc]
push dword [ebp - 0xc]
call fcn.00427fd3
add esp, 0xc
mov esi, eax
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
cmp edx, 0
jne case.0x421502.0
cmp eax, 0
jne case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
push dword [ebx + 4]
push dword [ebp + 8]
call fcn.00421159
add esp, 0x14
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
je 0x4272a2
mov edx, dword [ebp - 0x200]
mov byte [edx + 0x19], 1
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebx + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x200]
or byte [edx + 0x1b], 4
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
push dword [eax + edx*4]
push dword [ebp + 8]
call fcn.0041d901
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
xor ecx, ecx
mov dword [eax + edx*4], ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x20c], eax
xor edx, edx
mov dl, byte [ebx]
mov dword [ebp - 0x208], edx
mov ecx, dword [ebp - 0x20c]
mov byte [ecx + 0x19], 0
mov eax, dword [ebp - 0x20c]
test byte [eax + 0x1b], 4
je 0x424626
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x28]
movzx eax, word [ecx + 8]
and eax, 0xe
cmp eax, 2
jne 0x424562
push 0
push dword [ebp - 0x28]
call fcn.0042122b
add esp, 8
push dword [ebp - 0x28]
call fcn.0041b959
pop ecx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x28]
test byte [edx + 8], 4
jne 0x4245d8
mov ecx, dword [ebp - 0x28]
test byte [ecx + 8], 8
jne 0x424595
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
fild qword [ebp - 0x218]
mov edx, dword [ebp - 0x28]
fcomp qword [edx]
fnstsw ax
sahf
jbe 0x4245b9
mov edx, dword [ebp - 0x208]
and edx, 1
dec edx
jne 0x4245d8
dec dword [ebp - 0x208]
jmp 0x4245d8
fild qword [ebp - 0x218]
mov ecx, dword [ebp - 0x28]
fcomp qword [ecx]
fnstsw ax
sahf
jae 0x4245d8
test byte [ebp - 0x208], 1
jne 0x4245d8
inc dword [ebp - 0x208]
lea edx, [ebp - 0x204]
push edx
push 0
push dword [ebp - 0x214]
push dword [ebp - 0x218]
push 0
mov eax, dword [ebp - 0x20c]
push dword [eax]
call fcn.00416139
add esp, 0x18
mov esi, eax
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x218]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x214]
mov dword [eax + 0x34], edx
test esi, esi
jne 0x4272ca
jmp 0x4246be
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x210], ecx
mov eax, dword [ebp - 0x20c]
mov edx, dword [eax + 8]
mov dword [ebp - 0x4dc], edx
mov cx, word [ebp - 0x210]
mov word [ebp - 0x4d8], cx
or eax, 0xffffffff
mov edx, dword [ebp - 0x208]
add edx, 0xffffffc2
test dl, 1
jne 0x424660
add eax, 2
mov byte [ebp - 0x4d6], al
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x4d4], ecx
mov eax, dword [ebp - 0x4d4]
test byte [eax + 9], 0x40
je 0x424690
push dword [ebp - 0x4d4]
call fcn.0041b68d
pop ecx
lea edx, [ebp - 0x204]
push edx
push 0
push 0
push 0
lea ecx, [ebp - 0x4dc]
push ecx
mov eax, dword [ebp - 0x20c]
push dword [eax]
call fcn.00416139
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [ebp - 0x20c]
mov byte [eax + 0x1a], 0
mov edx, dword [ebp - 0x20c]
xor ecx, ecx
mov dword [edx + 0x3c], ecx
cmp dword [ebp - 0x208], 0x40
jl 0x42472c
cmp dword [ebp - 0x204], 0
jl 0x4246f7
cmp dword [ebp - 0x204], 0
jne 0x424722
cmp dword [ebp - 0x208], 0x41
jne 0x424722
xor eax, eax
mov dword [ebp - 0x204], eax
lea edx, [ebp - 0x204]
push edx
mov ecx, dword [ebp - 0x20c]
push dword [ecx]
call fcn.0041664d
add esp, 8
mov esi, eax
test esi, esi
jne 0x4272ca
jmp 0x424786
xor eax, eax
mov dword [ebp - 0x204], eax
jmp 0x424786
cmp dword [ebp - 0x204], 0
jg 0x424747
cmp dword [ebp - 0x204], 0
jne 0x424772
cmp dword [ebp - 0x208], 0x3e
jne 0x424772
xor edx, edx
mov dword [ebp - 0x204], edx
lea ecx, [ebp - 0x204]
push ecx
mov eax, dword [ebp - 0x20c]
push dword [eax]
call fcn.004167ca
add esp, 8
mov esi, eax
test esi, esi
jne 0x4272ca
jmp 0x424786
mov eax, dword [ebp - 0x20c]
push dword [eax]
call fcn.0041652d
pop ecx
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je case.0x421502.0
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x21c], ecx
mov eax, dword [ebp - 0x21c]
mov byte [eax + 0x19], 0
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
push dword [ebp - 0x24]
call fcn.0041b959
pop ecx
mov ecx, dword [ebp - 0x21c]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0x21c]
mov byte [eax + 0x1a], 1
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x228], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [ebp - 0x230], eax
cmp dword [ebx + 0x10], 0
jle 0x42489c
mov edx, dword [ebp - 0x228]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4f0], ecx
mov ax, word [ebx + 0x10]
mov word [ebp - 0x4ec], ax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x4e8], edx
xor ecx, ecx
mov dword [ebp - 0x224], ecx
jmp 0x42487f
mov eax, dword [ebp - 0x224]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x4e8]
test byte [edx + eax*8 + 9], 0x40
je 0x424879
mov ecx, dword [ebp - 0x224]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x4e8]
push ecx
call fcn.0041b68d
pop ecx
inc dword [ebp - 0x224]
movzx eax, word [ebp - 0x4ec]
cmp eax, dword [ebp - 0x224]
jg 0x42484a
lea edx, [ebp - 0x4f0]
mov dword [ebp - 0x234], edx
jmp 0x424908
lea ecx, [ebp - 0x230]
push ecx
push 0xbf
lea eax, [ebp - 0x5b0]
push eax
mov edx, dword [ebp - 0x228]
push dword [edx + 8]
call fcn.0041ebc5
add esp, 0x10
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je 0x4272a2
mov ecx, dword [ebp - 0x28]
test byte [ecx + 9], 0x40
je 0x4248e5
push dword [ebp - 0x28]
call fcn.0041b68d
pop ecx
push dword [ebp - 0x234]
mov eax, dword [ebp - 0x28]
push dword [eax + 0x10]
mov edx, dword [ebp - 0x28]
push dword [edx + 0xc]
mov ecx, dword [ebp - 0x228]
push dword [ecx + 8]
call fcn.0041ec34
add esp, 0x10
mov eax, dword [ebp - 0x234]
mov byte [eax + 6], 0
cmp byte [ebx], 0x43
jne 0x42495b
xor edx, edx
mov dword [ebp - 0x224], edx
jmp 0x424949
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp - 0x234]
mov edx, dword [eax + 8]
test byte [edx + ecx*8 + 8], 1
je 0x424943
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp 0x42495b
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x234]
movzx edx, word [eax + 4]
cmp edx, dword [ebp - 0x224]
jg 0x424921
lea ecx, [ebp - 0x22c]
push ecx
push 0
push 0
push 0
push dword [ebp - 0x234]
mov eax, dword [ebp - 0x228]
push dword [eax]
call fcn.00416139
add esp, 0x18
mov esi, eax
cmp dword [ebx + 0x10], 0
jne 0x424997
push dword [ebp - 0x230]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0x228]
mov edx, dword [ebp - 0x22c]
mov dword [eax + 0xc], edx
cmp dword [ebp - 0x22c], 0
sete cl
and ecx, 1
mov dword [ebp - 0x220], ecx
mov al, 1
sub al, byte [ebp - 0x220]
mov edx, dword [ebp - 0x228]
mov byte [edx + 0x19], al
mov ecx, dword [ebp - 0x228]
mov byte [ecx + 0x1a], 0
mov eax, dword [ebp - 0x228]
xor edx, edx
mov dword [eax + 0x3c], edx
cmp byte [ebx], 0x45
jne 0x424a05
cmp dword [ebp - 0x220], 0
je case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
cmp dword [ebp - 0x220], 0
jne case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x238], ecx
mov eax, dword [ebp - 0x238]
mov edx, dword [eax]
mov dword [ebp - 0x23c], edx
xor ecx, ecx
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov dword [ebp - 0x248], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x244], edx
lea ecx, [ebp - 0x240]
push ecx
push 0
push dword [ebp - 0x244]
push dword [ebp - 0x248]
push 0
push dword [ebp - 0x23c]
call fcn.00416139
add esp, 0x18
mov esi, eax
mov eax, dword [ebp - 0x238]
mov edx, dword [ebp - 0x248]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x244]
mov dword [eax + 0x34], edx
mov ecx, dword [ebp - 0x238]
mov byte [ecx + 0x19], 0
mov eax, dword [ebp - 0x238]
xor edx, edx
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x238]
mov byte [ecx + 0x1a], 0
cmp dword [ebp - 0x240], 0
je 0x424ad7
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov dword [edx + 0xc], ecx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x38]
mov ebx, dword [ebx + 4]
mov ecx, dword [ecx + ebx*4]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
xor eax, eax
mov dword [ebp - 0x258], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x254], ecx
mov eax, dword [ebp - 0x254]
cmp dword [eax], 0
je 0x424da5
mov edx, dword [ebp - 0x254]
test byte [edx + 0x1b], 2
jne 0x424beb
lea ecx, [ebp - 0x258]
push ecx
mov eax, dword [ebp - 0x254]
push dword [eax]
call fcn.004160e8
add esp, 8
mov esi, eax
test esi, esi
jne 0x4272ca
cmp dword [ebp - 0x258], 0
je 0x424b9f
mov dword [ebp - 0x250], 1
mov dword [ebp - 0x24c], 0
jmp 0x424beb
lea eax, [ebp - 0x250]
push eax
mov edx, dword [ebp - 0x254]
push dword [edx]
call fcn.0041590f
add esp, 8
mov esi, eax
cmp dword [ebp - 0x24c], 0x7fffffff
jne 0x424bcf
cmp dword [ebp - 0x250], 0xffffffff
jb 0x424bdd
jmp 0x424bd1
jl 0x424bdd
mov eax, dword [ebp - 0x254]
or byte [eax + 0x1b], 2
jmp 0x424beb
add dword [ebp - 0x250], 1
adc dword [ebp - 0x24c], 0
cmp dword [ebx + 0xc], 0
je 0x424cea
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb0], 0
je 0x424c49
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb0]
mov dword [ebp - 0x264], eax
jmp 0x424c21
mov edx, dword [ebp - 0x264]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x264]
cmp dword [eax + 4], 0
jne 0x424c12
mov edx, dword [ebp - 0x264]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add ecx, eax
mov dword [ebp - 0x260], ecx
jmp 0x424c5b
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x260], edx
push dword [ebp - 0x260]
call fcn.0041ba88
pop ecx
mov ecx, dword [ebp - 0x260]
cmp dword [ecx + 4], 0x7fffffff
jne 0x424c79
cmp dword [ecx], 0xffffffff
je 0x424c87
mov eax, dword [ebp - 0x254]
test byte [eax + 0x1b], 2
je 0x424c91
mov esi, 0xd
jmp 0x4272ca
mov eax, dword [ebp - 0x260]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, 1
adc edx, 0
cmp edx, dword [ebp - 0x24c]
jne 0x424cb4
cmp eax, dword [ebp - 0x250]
jbe 0x424cd3
jmp 0x424cb6
jle 0x424cd3
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add eax, 1
adc edx, 0
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x260]
mov edx, dword [ebp - 0x250]
mov dword [eax], edx
mov edx, dword [ebp - 0x24c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x254]
test byte [ecx + 0x1b], 2
je 0x424d90
xor eax, eax
mov dword [ebp - 0x25c], eax
lea edx, [ebp - 0x250]
push edx
push 8
call fcn.00405f21
add esp, 8
and dword [ebp - 0x250], 0xffffffff
and dword [ebp - 0x24c], 0x3fffffff
add dword [ebp - 0x250], 1
adc dword [ebp - 0x24c], 0
lea ecx, [ebp - 0x258]
push ecx
push 0
push dword [ebp - 0x24c]
push dword [ebp - 0x250]
push 0
mov edx, dword [ebp - 0x254]
push dword [edx]
call fcn.00416139
add esp, 0x18
mov esi, eax
test eax, eax
jne 0x424d79
cmp dword [ebp - 0x258], 0
jne 0x424d79
inc dword [ebp - 0x25c]
mov edx, dword [ebp - 0x25c]
cmp edx, 0x64
jl 0x424d02
test esi, esi
jne 0x424d90
cmp dword [ebp - 0x258], 0
jne 0x424d90
mov esi, 0xd
jmp 0x4272ca
mov eax, dword [ebp - 0x254]
mov byte [eax + 0x1a], 0
mov edx, dword [ebp - 0x254]
xor ecx, ecx
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x250]
mov dword [eax], edx
mov edx, dword [ebp - 0x24c]
mov dword [eax + 4], edx
jmp case.0x421502.0
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x278], eax
cmp byte [ebx], 0x4b
jne 0x424e12
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x26c], edx
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ecx]
mov dword [ebp - 0x274], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x270], eax
jmp 0x424e22
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
test byte [ebx + 3], 1
je 0x424e2e
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x5c]
test byte [ebx + 3], 2
je 0x424e4f
mov eax, dword [ebp - 0x274]
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x268]
test byte [eax + 8], 1
je 0x424e71
mov edx, dword [ebp - 0x268]
xor eax, eax
mov dword [edx + 0x10], eax
mov edx, dword [ebp - 0x268]
xor ecx, ecx
mov dword [edx + 0xc], ecx
test byte [ebx + 3], 0x10
je 0x424e82
mov eax, dword [ebp - 0x278]
mov edx, dword [eax + 0xc]
jmp 0x424e84
xor edx, edx
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x268]
test byte [eax + 9], 0x40
je 0x424ea6
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx]
mov dword [ebp - 0x27c], eax
jmp 0x424eae
xor edx, edx
mov dword [ebp - 0x27c], edx
push dword [ebp - 0x280]
test byte [ebx + 3], 8
setne cl
and ecx, 1
push ecx
push dword [ebp - 0x27c]
mov eax, dword [ebp - 0x268]
push dword [eax + 0xc]
mov edx, dword [ebp - 0x268]
push dword [edx + 0x10]
push dword [ebp - 0x270]
push dword [ebp - 0x274]
push 0
mov eax, dword [ebp - 0x278]
push dword [eax]
call fcn.00418fe9
add esp, 0x24
mov esi, eax
mov eax, dword [ebp - 0x278]
mov byte [eax + 0x1a], 0
mov edx, dword [ebp - 0x278]
xor ecx, ecx
mov dword [edx + 0x3c], ecx
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xd0], 0
je case.0x421502.0
cmp dword [ebx + 0x10], 0
je case.0x421502.0
mov edx, dword [ebp - 0x278]
movsx ecx, byte [edx + 0x18]
shl ecx, 4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + ecx]
mov dword [ebp - 0x284], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x288], eax
mov edx, 0x17
test byte [ebx + 3], 4
jne 0x424f61
add edx, 0xfffffffb
mov dword [ebp - 0x28c], edx
push dword [ebp - 0x270]
push dword [ebp - 0x274]
push dword [ebp - 0x288]
push dword [ebp - 0x284]
push dword [ebp - 0x28c]
mov eax, dword [ebp - 0xc]
push dword [eax + 0xcc]
mov edx, dword [ebp - 0xc]
call dword [edx + 0xd0]
add esp, 0x18
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x290], ecx
mov eax, dword [ebp - 0x290]
push dword [eax]
call fcn.004191ed
pop ecx
mov esi, eax
mov eax, dword [ebp - 0x290]
xor edx, edx
mov dword [eax + 0x3c], edx
test esi, esi
jne 0x42502a
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0xd0], 0
je 0x42502a
cmp dword [ebx + 0x10], 0
je 0x42502a
mov eax, dword [ebp - 0x290]
test byte [eax + 0x1b], 4
je 0x42502a
mov edx, dword [ebp - 0x290]
push dword [edx + 0x34]
push dword [edx + 0x30]
push dword [ebx + 0x10]
mov eax, dword [ebp - 0x290]
movsx edx, byte [eax + 0x18]
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push 9
mov edx, dword [ebp - 0xc]
push dword [edx + 0xcc]
mov ecx, dword [ebp - 0xc]
call dword [ecx + 0xd0]
add esp, 0x18
test byte [ebx + 8], 1
je case.0x421502.0
mov eax, dword [ebp + 8]
inc dword [eax + 0x5c]
jmp case.0x421502.0
mov edx, dword [ebp + 8]
push dword [edx + 0x5c]
push dword [ebp - 0xc]
call fcn.0041facf
add esp, 8
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x5c], eax
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x294], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x29c], eax
xor edx, edx
mov dword [ebp - 0x298], edx
lea ecx, [ebp - 0x298]
push ecx
push dword [ebp - 0x29c]
push dword [ebp - 0x28]
push dword [ebp - 0x294]
call fcn.0042938e
add esp, 0x10
mov esi, eax
cmp dword [ebp - 0x298], 0
je case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x2a0], ecx
push dword [ebp - 0x2c]
push dword [ebp - 0x2a0]
call fcn.0042932c
add esp, 8
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 0xc]
mov eax, dword [edx + ecx*4]
xor edx, edx
mov dword [eax + 0x3c], edx
jmp case.0x421502.0
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x2a4], eax
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [edx]
mov dword [ebp - 0x2a8], ecx
mov eax, dword [ebp - 0x2a4]
test byte [eax + 0x1b], 4
jne 0x425192
lea edx, [ebp - 0x2b4]
push edx
push dword [ebp - 0x2a8]
call fcn.0041590f
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x58]
cdq
cmp edx, dword [ebp - 0x2b0]
jne 0x42517e
cmp eax, dword [ebp - 0x2b4]
jae 0x425184
jmp 0x427281
jl 0x427281
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2ac], eax
jmp 0x4251b9
lea edx, [ebp - 0x2ac]
push edx
push dword [ebp - 0x2a8]
call fcn.0041594e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x58]
cmp eax, dword [ebp - 0x2ac]
jb 0x427281
cmp dword [ebp - 0x2ac], 0x20
jbe 0x4251ca
mov edx, dword [ebp - 0x2ac]
jmp 0x4251cf
mov edx, 0x20
push edx
push dword [ebp - 0x2c]
call fcn.0041b5fa
add esp, 8
test eax, eax
jne 0x4272a2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2ac]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x2c]
mov dx, word [eax + 8]
and dx, 0xbe00
or dx, 0x10
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], dx
mov eax, dword [ebp - 0x2a4]
test byte [eax + 0x1b], 4
jne 0x425232
mov edx, dword [ebp - 0x2c]
push dword [edx + 0x10]
push dword [ebp - 0x2ac]
push 0
push dword [ebp - 0x2a8]
call fcn.00415d82
add esp, 0x10
mov esi, eax
jmp 0x425250
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x10]
push dword [ebp - 0x2ac]
push 0
push dword [ebp - 0x2a8]
call fcn.00415d9d
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0xa], 1
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x2b8], edx
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx + 0x19], 0
je 0x425288
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], 1
jmp case.0x421502.0
mov edx, dword [ebp - 0x2b8]
cmp byte [edx + 0x1a], 0
je 0x4252b1
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x2bc], eax
jmp 0x425356
mov edx, dword [ebp - 0x2b8]
cmp dword [edx + 0x20], 0
je 0x42530d
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ecx + 0x20]
mov edx, dword [eax]
mov dword [ebp - 0x2c4], edx
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ecx]
mov dword [ebp - 0x2c8], eax
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x2b8]
push dword [ecx + 0x20]
mov eax, dword [ebp - 0x2c8]
call dword [eax + 0x30]
add esp, 8
mov esi, eax
push dword [ebp - 0x2c4]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
jmp 0x425356
push dword [ebp - 0x2b8]
call fcn.0041e739
pop ecx
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [ebp - 0x2b8]
cmp byte [eax + 0x19], 0
je 0x42533d
mov edx, dword [ebp - 0x2c]
mov word [edx + 8], 1
jmp case.0x421502.0
lea ecx, [ebp - 0x2c0]
push ecx
mov eax, dword [ebp - 0x2b8]
push dword [eax]
call fcn.0041590f
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c0]
mov dword [eax], edx
mov edx, dword [ebp - 0x2bc]
mov dword [eax + 4], edx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x2cc], ecx
mov eax, dword [ebp - 0x2cc]
mov byte [eax + 0x19], 1
mov edx, dword [ebp - 0x2cc]
xor ecx, ecx
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x2cc]
cmp dword [eax], 0
je case.0x421502.0
mov edx, dword [ebp - 0x2cc]
push dword [edx]
call fcn.00412e21
pop ecx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x2d0], ecx
mov eax, dword [ebp - 0x2d0]
mov edx, dword [eax]
mov dword [ebp - 0x2d4], edx
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
lea eax, [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
call fcn.004160e8
add esp, 8
mov esi, eax
mov al, byte [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d0]
mov byte [edx + 0x19], al
mov ecx, dword [ebp - 0x2d0]
mov byte [ecx + 0x1a], 0
mov eax, dword [ebp - 0x2d0]
xor edx, edx
mov dword [eax + 0x3c], edx
cmp dword [ebx + 8], 0
jle case.0x421502.0
cmp dword [ebp - 0x2d8], 0
je case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
inc dword [eax + 0x74]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2e4], 1
mov ecx, dword [ebp - 0x2dc]
cmp dword [ecx + 0x38], 0
je 0x425485
lea eax, [ebp - 0x2e4]
push eax
push dword [ebp - 0x2dc]
call fcn.00429248
add esp, 8
mov esi, eax
jmp 0x4254bf
mov eax, dword [ebp - 0x2dc]
mov edx, dword [eax]
mov dword [ebp - 0x2e0], edx
lea ecx, [ebp - 0x2e4]
push ecx
push dword [ebp - 0x2e0]
call fcn.004160b5
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x2dc]
mov byte [eax + 0x1a], 0
mov edx, dword [ebp - 0x2dc]
xor ecx, ecx
mov dword [edx + 0x3c], ecx
mov al, byte [ebp - 0x2e4]
mov edx, dword [ebp - 0x2dc]
mov byte [edx + 0x19], al
cmp dword [ebp - 0x2e4], 0
je case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x2e8], eax
xor edx, edx
mov dword [ebp - 0x2ec], edx
lea ecx, [ebp - 0x2ec]
push ecx
push dword [ebp - 0x2e8]
push dword [ebp - 0xc]
call fcn.0042929c
add esp, 0xc
mov esi, eax
jmp 0x425562
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
cmp dword [edx + ecx*4], 0
je case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x2e8], eax
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x2ec], edx
lea ecx, [ebp - 0x2ec]
push ecx
mov eax, dword [ebp - 0x2e8]
push dword [eax]
call dword [ebx + 0x10]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x2e8]
xor edx, edx
mov dword [eax + 0x3c], edx
cmp dword [ebp - 0x2ec], 0
jne 0x425598
mov ecx, dword [ebp - 0x2e8]
mov byte [ecx + 0x19], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
xor edx, edx
mov dl, byte [ebx + 3]
mov ecx, dword [ebp + 8]
inc dword [ecx + edx*4 + 0x6c]
jmp 0x421778
mov eax, dword [ebp - 0x2e8]
mov byte [eax + 0x19], 1
jmp 0x421778
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x2f0], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax]
mov dword [ebp - 0x2f4], edx
test byte [ebx + 3], 1
je 0x4255e2
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x5c]
mov eax, dword [ebp - 0x24]
test byte [eax + 9], 0x40
je 0x4255f8
push dword [ebp - 0x24]
call fcn.0041b68d
pop ecx
mov esi, eax
jmp 0x4255fa
xor esi, esi
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0x2f0]
cmp dword [eax + 0x38], 0
je 0x425626
push dword [ebp - 0x24]
push dword [ebp - 0x2f0]
call fcn.004289e7
add esp, 8
mov esi, eax
jmp case.0x421502.0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x2f8], edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x2fc], eax
test byte [ebx + 3], 0x10
je 0x42564f
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 0xc]
jmp 0x425651
xor ecx, ecx
push ecx
push dword [ebx + 0xc]
push 0
push 0
push 0x46753f
mov eax, dword [ebp - 0x2f8]
cdq
push edx
push eax
push dword [ebp - 0x2fc]
push dword [ebp - 0x2f4]
call fcn.00418fe9
add esp, 0x24
mov esi, eax
mov eax, dword [ebp - 0x2f0]
xor edx, edx
mov dword [eax + 0x3c], edx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp - 0x300]
mov edx, dword [eax]
mov dword [ebp - 0x304], edx
mov ecx, dword [ebp - 0x300]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x5c4], eax
mov dx, word [ebx + 0xc]
mov word [ebp - 0x5c0], dx
mov byte [ebp - 0x5be], 0
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x5bc], ecx
lea eax, [ebp - 0x308]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x5c4]
push edx
push dword [ebp - 0x304]
call fcn.00416139
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x42571f
cmp dword [ebp - 0x308], 0
jne 0x42571f
push dword [ebp - 0x304]
call fcn.004191ed
pop ecx
mov esi, eax
mov eax, dword [ebp - 0x300]
xor edx, edx
mov dword [eax + 0x3c], edx
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [eax]
mov dword [ebp - 0x30c], edx
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], 1
push dword [ebp - 0x310]
call fcn.0041e739
pop ecx
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [ebp - 0x310]
cmp byte [eax + 0x19], 0
jne case.0x421502.0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0
lea edx, [ebp - 0x318]
push edx
push dword [ebp - 0x30c]
push dword [ebp - 0xc]
call fcn.0041f8ef
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x4272ca
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x318]
mov dword [eax], edx
mov edx, dword [ebp - 0x314]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], 4
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x31c], eax
mov edx, dword [ebp - 0x31c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5d8], ecx
mov ax, word [ebx + 0x10]
mov word [ebp - 0x5d4], ax
cmp byte [ebx], 0x73
jae 0x425810
mov byte [ebp - 0x5d2], 0xff
jmp 0x425817
mov byte [ebp - 0x5d2], 0
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x5d0], edx
xor ecx, ecx
mov dword [ebp - 0x320], ecx
lea eax, [ebp - 0x320]
push eax
lea edx, [ebp - 0x5d8]
push edx
push dword [ebp - 0x31c]
push dword [ebp - 0xc]
call fcn.0041fa20
add esp, 0x10
mov esi, eax
xor eax, eax
mov al, byte [ebx]
and eax, 1
dec eax
jne 0x425864
neg dword [ebp - 0x320]
jmp 0x42586a
inc dword [ebp - 0x320]
cmp dword [ebp - 0x320], 0
jle case.0x421502.0
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
xor ecx, ecx
mov dword [ebp - 0x328], ecx
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 4]
mov dword [ebp - 0x32c], edx
cmp dword [ebp - 0x32c], 0
je 0x4258f9
mov ecx, dword [ebp - 0x32c]
cmp dword [ecx + 0x28], 0xbdf20da3
jne 0x4258e1
mov eax, dword [ebp - 0x32c]
test byte [eax + 0x59], 2
je 0x4258e1
mov edx, dword [ebp - 0x32c]
mov cl, byte [edx + 0x58]
shr ecx, 2
and ecx, 3
cmp ecx, 2
jae 0x4258e1
mov eax, dword [ebp - 0x32c]
cmp dword [eax + 0x4c], 0
jl 0x4258e1
inc dword [ebp - 0x328]
mov edx, dword [ebp - 0x32c]
mov ecx, dword [edx + 0x34]
mov dword [ebp - 0x32c], ecx
cmp dword [ebp - 0x32c], 0
jne 0x4258a0
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], 1
cmp dword [ebp - 0x328], 1
jle 0x42591c
mov esi, 6
mov eax, dword [ebp + 8]
mov byte [eax + 0x56], 2
jmp case.0x421502.0
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x330], edx
xor ecx, ecx
mov dword [ebp - 0x324], ecx
lea eax, [ebp - 0x324]
push eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x330]
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
push dword [eax + edx + 4]
call fcn.00419a50
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov word [eax + 8], 4
mov eax, dword [ebp - 0x324]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
test esi, esi
jne case.0x421502.0
cmp dword [ebp - 0x324], 0
je case.0x421502.0
push dword [ebx + 4]
push dword [ebp - 0x324]
push dword [ebp - 0x330]
push dword [ebp - 0xc]
call fcn.00433f76
add esp, 0x10
mov al, byte [ebp - 0x330]
inc eax
mov byte [ebp - 0xd], al
jmp case.0x421502.0
xor edx, edx
mov dword [ebp - 0x334], edx
cmp dword [ebx + 0xc], 0
je 0x4259c0
lea ecx, [ebp - 0x334]
jmp 0x4259c2
xor ecx, ecx
push ecx
push dword [ebx + 4]
mov eax, dword [ebx + 8]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x10]
push dword [edx + eax + 4]
call fcn.00419816
add esp, 0xc
mov esi, eax
cmp dword [ebx + 0xc], 0
je case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x334]
add dword [eax + 0x5c], edx
cmp dword [ebx + 0xc], 0
jle case.0x421502.0
mov eax, dword [ebp - 0x334]
cdq
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov ebx, dword [ebp - 0x20]
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x338], eax
mov edx, dword [ebp - 0x338]
cmp dword [edx + 0x38], 0
je 0x425a53
mov ecx, dword [ebp - 0x338]
push dword [ecx + 0x38]
push dword [ebp - 0xc]
call fcn.0042825f
add esp, 8
jmp case.0x421502.0
mov eax, dword [ebp - 0x338]
push dword [eax]
call fcn.0041985f
pop ecx
mov esi, eax
jmp case.0x421502.0
xor eax, eax
mov dword [ebp - 0x33c], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + 4]
shl eax, 4
add ecx, eax
mov dword [ebp - 0x344], ecx
cmp byte [ebx], 0x79
jne 0x425a95
mov dword [ebp - 0x340], 1
jmp 0x425a9f
mov dword [ebp - 0x340], 2
push dword [ebp - 0x340]
lea edx, [ebp - 0x33c]
push edx
mov ecx, dword [ebp - 0x344]
push dword [ecx + 4]
call fcn.00419686
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x33c]
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 1
jne 0x425aec
mov edx, str.sqlite_temp_master
jmp 0x425af1
mov edx, str.sqlite_master
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x5e8], eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x5e0], ecx
mov eax, dword [ebp + 8]
add eax, 0x2c
mov dword [ebp - 0x5e4], eax
push dword [ebx + 0x10]
push dword [ebp - 0x34c]
mov edx, dword [ebp - 0x348]
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push dword [ebp - 0xc]
call fcn.00405d73
add esp, 0x14
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x425b56
mov esi, 7
jmp 0x425bae
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x91], 1
xor edx, edx
mov dword [ebp - 0x5dc], edx
push 0
lea ecx, [ebp - 0x5e8]
push ecx
push fcn.00440c01
push dword [ebp - 0x350]
push dword [ebp - 0xc]
call fcn.0043d19d
add esp, 0x14
mov esi, eax
test esi, esi
jne 0x425b93
mov esi, dword [ebp - 0x5dc]
push dword [ebp - 0x350]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x91], 0
test esi, esi
je 0x425bbb
push dword [ebp - 0xc]
call fcn.00432379
pop ecx
cmp esi, 7
je 0x4272a2
jmp case.0x421502.0
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.00430f3d
add esp, 8
mov esi, eax
jmp case.0x421502.0
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.0043250f
add esp, 0xc
jmp case.0x421502.0
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.00432206
add esp, 0xc
jmp case.0x421502.0
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.00448531
add esp, 0xc
jmp case.0x421502.0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x354]
inc eax
shl eax, 2
xor edx, edx
push edx
push eax
push dword [ebp - 0xc]
call fcn.0040476a
add esp, 0xc
mov dword [ebp - 0x358], eax
cmp dword [ebp - 0x358], 0
je 0x4272a2
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x368], ecx
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x35c], eax
mov edx, dword [ebp - 0x35c]
cmp edx, dword [ebp - 0x354]
jge 0x425cc1
mov ecx, dword [ebp - 0x35c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, edi
push ecx
call fcn.0041b959
pop ecx
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x35c]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x35c]
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x354]
jl 0x425c89
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x35c]
xor eax, eax
mov dword [edx + ecx*4], eax
lea edx, [ebp - 0x360]
push edx
mov ecx, dword [ebp - 0x368]
mov eax, dword [ecx]
push eax
push dword [ebp - 0x354]
push dword [ebp - 0x358]
xor edx, edx
mov dl, byte [ebx + 3]
shl edx, 4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x10]
push dword [eax + edx + 4]
call fcn.0041a5d0
add esp, 0x14
mov dword [ebp - 0x364], eax
push dword [ebp - 0x358]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
mov eax, dword [ebp - 0x360]
cdq
mov ecx, dword [ebp - 0x368]
sub dword [ecx], eax
sbb dword [ecx + 4], edx
push edi
call fcn.0041bbef
pop ecx
cmp dword [ebp - 0x360], 0
je 0x425d66
cmp dword [ebp - 0x364], 0
je 0x4272a2
push fcn.004044c7
push 1
push 0xffffffffffffffff
push dword [ebp - 0x364]
push edi
call fcn.0041be1c
add esp, 0x14
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
push edi
call fcn.0041b4e8
add esp, 8
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
test byte [edi + 8], 0x20
jne 0x425dac
push edi
call fcn.0041bcd6
pop ecx
test byte [edi + 8], 0x20
je 0x4272a2
mov edx, dword [ebp - 0x24]
push dword [edx + 4]
push dword [edx]
push dword [edi]
call fcn.0040c152
add esp, 0xc
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
test byte [edi + 8], 0x20
je 0x425dea
lea eax, [ebp - 0x370]
push eax
push dword [edi]
call fcn.0040c3aa
add esp, 8
test eax, eax
jne 0x425dfd
push edi
call fcn.0041bbef
pop ecx
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp 0x421778
push dword [ebp - 0x36c]
push dword [ebp - 0x370]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
push eax
call fcn.0041bc70
add esp, 0xc
jmp 0x421778
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x374], edx
test byte [edi + 8], 0x20
jne 0x425e5e
push edi
call fcn.0041bcd6
pop ecx
test byte [edi + 8], 0x20
je 0x4272a2
cmp dword [ebp - 0x374], 0
je 0x425e9a
mov ecx, dword [ebp - 0x28]
push dword [ecx + 4]
push dword [ecx]
push dword [ebp - 0x374]
push dword [edi]
call fcn.0040c3f7
add esp, 0x10
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x425e9a
mov edx, dword [ebx + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x421502.0
cmp dword [ebp - 0x374], 0
jl case.0x421502.0
mov ecx, dword [ebp - 0x28]
push dword [ecx + 4]
push dword [ecx]
push dword [edi]
call fcn.0040c152
add esp, 0xc
jmp case.0x421502.0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x394], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x384], ecx
cmp byte [ebx + 3], 0
je 0x425f35
mov eax, dword [ebp - 0x394]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x398], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb0]
mov dword [ebp - 0x390], eax
jmp 0x425f0e
mov edx, dword [ebp - 0x390]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x390], ecx
cmp dword [ebp - 0x390], 0
je 0x425f28
mov eax, dword [ebp - 0x390]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x398]
jne 0x425eff
cmp dword [ebp - 0x390], 0
jne case.0x421502.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb8]
mov edx, dword [ebp - 0xc]
cmp eax, dword [edx + 0x80]
jl 0x425f6a
mov esi, 1
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
call fcn.00404967
add esp, 0xc
jmp case.0x421502.0
mov edx, dword [ebp - 0x384]
test byte [edx + 8], 0x40
jne 0x42613d
mov ecx, dword [ebp - 0x394]
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0x394]
add eax, dword [edx + 0xc]
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp - 0x394]
mov edx, dword [eax + 0xc]
shl edx, 2
add ecx, edx
mov eax, dword [ebp - 0x394]
add ecx, dword [eax + 0x10]
add ecx, 0x50
mov dword [ebp - 0x380], ecx
mov eax, dword [ebp - 0x380]
cdq
push edx
push eax
push dword [ebp - 0xc]
call fcn.0040473b
add esp, 0xc
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
je 0x4272a2
push dword [ebp - 0x384]
call fcn.0041b8f7
pop ecx
mov ecx, dword [ebp - 0x384]
mov word [ecx + 8], 0x40
mov eax, dword [ebp - 0x384]
mov edx, dword [ebp - 0x390]
mov dword [eax], edx
mov ecx, dword [ebp - 0x390]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x37c]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x394]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x390]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x390]
mov edx, dword [ebp - 4]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov edx, dword [ebp - 0x390]
mov dword [edx + 8], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x394]
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc8]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc4]
mov edx, dword [ebp - 0x390]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0x390]
mov eax, dword [ecx + 0x3c]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x390]
add eax, 0x50
mov dword [ebp - 0x38c], eax
mov edx, dword [ebp - 0x390]
add edx, 0x50
mov dword [ebp - 0x388], edx
mov ecx, dword [ebp - 0x388]
cmp ecx, dword [ebp - 0x38c]
je 0x42614b
mov eax, dword [ebp - 0x388]
mov word [eax + 8], 0x80
mov edx, dword [ebp - 0x388]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x20], ecx
add dword [ebp - 0x388], 0x28
mov eax, dword [ebp - 0x388]
cmp eax, dword [ebp - 0x38c]
jne 0x42610e
jmp 0x42614b
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx]
mov dword [ebp - 0x390], ecx
mov eax, dword [ebp + 8]
inc dword [eax + 0xb8]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb0]
mov eax, dword [ebp - 0x390]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0x20], ecx
mov ecx, dword [ebp - 0x34]
mov dword [edx + 0x24], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
mov ecx, dword [ebp - 0x390]
mov dword [ecx + 0x44], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, dword [edx + 0x50]
mov eax, dword [ebp - 0x390]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [edx + 0x5c], ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x390]
mov dword [eax + 0xb0], edx
mov ecx, dword [ebp - 0x390]
add ecx, 0x28
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x390]
mov eax, dword [edx + 0x3c]
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x390]
movzx eax, word [ecx + 0x40]
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
inc eax
mov edx, eax
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x38], edx
mov eax, dword [ebp - 0x394]
mov edx, dword [eax]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x394]
mov eax, dword [ecx + 4]
mov edx, dword [ebp + 8]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x24]
shl ecx, 2
add eax, ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0xc8], eax
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
push dword [edx + 0xc4]
push 0
mov ecx, dword [ebp + 8]
push dword [ecx + 0xc8]
call fcn.004595e8
add esp, 0xc
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb0]
mov dword [ebp - 0x39c], edx
mov ecx, dword [ebp - 0x39c]
mov eax, dword [ecx + 0x2c]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x39c]
mov ecx, dword [edx + 8]
mov eax, dword [ecx + eax*4 + 4]
add eax, dword [ebx + 4]
mov edx, eax
shl edx, 3
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x39c]
add edx, dword [ecx + 0x10]
mov dword [ebp - 0x3a0], edx
push 0x1000
push dword [ebp - 0x3a0]
push dword [ebp - 0x2c]
call fcn.0041bd60
add esp, 0xc
jmp case.0x421502.0
mov eax, dword [ebp - 0xc]
test byte [eax + 0x1b], 1
je 0x4262ea
mov eax, dword [ebx + 8]
cdq
mov ecx, dword [ebp - 0xc]
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp case.0x421502.0
cmp dword [ebx + 4], 0
je 0x426308
mov eax, dword [ebx + 8]
cdq
mov ecx, dword [ebp - 0xc]
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.0x421502.0
mov eax, dword [ebx + 8]
cdq
mov ecx, dword [ebp + 8]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
jmp case.0x421502.0
cmp dword [ebx + 4], 0
je 0x42636c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x1fc], 0
jne case.0x421502.0
cmp dword [eax + 0x1f8], 0
jne case.0x421502.0
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x204], 0
jne case.0x421502.0
cmp dword [edx + 0x200], 0
jne case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x94], 0
jne case.0x421502.0
cmp dword [eax + 0x90], 0
jne case.0x421502.0
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x204], 0
jne case.0x421502.0
cmp dword [edx + 0x200], 0
jne case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb0], 0
je 0x426400
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb0]
mov dword [ebp - 0x3a4], ecx
jmp 0x4263de
mov eax, dword [ebp - 0x3a4]
mov edx, dword [eax + 4]
mov dword [ebp - 0x3a4], edx
mov ecx, dword [ebp - 0x3a4]
cmp dword [ecx + 4], 0
jne 0x4263cf
mov eax, dword [ebp - 0x3a4]
mov edi, dword [eax + 0x10]
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add edi, eax
jmp 0x42640c
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
push edi
call fcn.0041ba88
pop ecx
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
call fcn.0041ba88
pop ecx
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x24]
cmp edx, dword [ecx + 4]
jne 0x426442
cmp eax, dword [ecx]
jae case.0x421502.0
jmp 0x426448
jge case.0x421502.0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
cmp dword [edi + 4], 0
jne 0x426477
cmp dword [edi], 0
jbe case.0x421502.0
jmp 0x42647d
jle case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
cmp dword [edi + 4], 0
jne 0x4264af
cmp dword [edi], 0
jae case.0x421502.0
jmp 0x4264b5
jge case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
mov edi, dword [ebx + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
cmp dword [edi + 4], 0
jne case.0x421502.0
cmp dword [edi], 0
jne case.0x421502.0
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x421502.0
xor eax, eax
mov al, byte [ebx + 3]
mov dword [ebp - 0x3a8], eax
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x3b4], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x3b8], eax
xor edx, edx
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebp - 0x3ac]
cmp ecx, dword [ebp - 0x3a8]
jge 0x426564
mov eax, dword [ebp - 0x3b8]
mov edx, dword [ebp - 0x3ac]
mov ecx, dword [ebp - 0x3b4]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x3ac]
add dword [ebp - 0x3b4], 0x28
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [ebp - 0x3a8]
jl 0x426534
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x628], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x624], ecx
mov eax, dword [ebp - 0x3b0]
inc dword [eax + 0xc]
push 1
push dword [ebp - 0xc]
lea edx, [ebp - 0x610]
push edx
call fcn.0041bbd4
add esp, 0xc
lea eax, [ebp - 0x610]
mov dword [ebp - 0x62c], eax
xor edx, edx
mov dword [ebp - 0x618], edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x620], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 0x614], 0
push dword [ebp - 0x3b8]
push dword [ebp - 0x3a8]
lea edx, [ebp - 0x62c]
push edx
mov ecx, dword [ebp - 0x628]
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x618], 0
je 0x426622
lea eax, [ebp - 0x610]
push eax
call fcn.0041fd8c
pop ecx
push eax
push 0x4683a6
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0x10
mov esi, dword [ebp - 0x618]
cmp byte [ebp - 0x614], 0
je 0x426659
mov eax, dword [ebx - 0x10]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
je 0x426659
push 0
push 1
mov edx, dword [ebp - 0x3ac]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
push edx
call fcn.0041bc70
add esp, 0xc
lea ecx, [ebp - 0x610]
push ecx
call fcn.0041b8f7
pop ecx
jmp case.0x421502.0
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x3bc], eax
push dword [ebx + 0x10]
push dword [ebp - 0x3bc]
call fcn.0041b7df
add esp, 8
mov esi, eax
test esi, esi
je 0x4266b8
push dword [ebp - 0x3bc]
call fcn.0041fd8c
pop ecx
push eax
push 0x4683a6
push dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
call fcn.00404967
add esp, 0x10
xor edx, edx
mov dl, byte [ebp - 0xe]
push edx
push dword [ebp - 0x3bc]
call fcn.0041b4e8
add esp, 8
push dword [ebp - 0x3bc]
call fcn.0041bd35
pop ecx
test eax, eax
jne 0x427281
jmp case.0x421502.0
xor ecx, ecx
mov dword [ebp - 0x638], ecx
or eax, 0xffffffff
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x634], eax
lea edx, [ebp - 0x630]
push edx
lea ecx, [ebp - 0x634]
push ecx
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.00457012
add esp, 0x14
mov esi, eax
cmp esi, 5
jne 0x42672e
xor esi, esi
mov dword [ebp - 0x638], 1
xor eax, eax
mov dword [ebp - 0x3c0], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x3c4], edx
mov ecx, dword [ebp - 0x3c0]
mov eax, dword [ebp + ecx*4 - 0x638]
cdq
push edx
push eax
push dword [ebp - 0x3c4]
call fcn.0041bc70
add esp, 0xc
inc dword [ebp - 0x3c0]
add dword [ebp - 0x3c4], 0x28
cmp dword [ebp - 0x3c0], 3
jl 0x426748
jmp case.0x421502.0
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x3d0], ecx
mov eax, dword [ebx + 4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x3c8], eax
push dword [ebp - 0x3c8]
call fcn.00419c38
pop ecx
mov dword [ebp - 0x3cc], eax
push dword [ebp - 0x3cc]
call fcn.00410602
pop ecx
mov dword [ebp - 0x3d4], eax
cmp dword [ebp - 0x3d0], 0xffffffff
jne 0x4267d9
mov edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], edx
push dword [ebp - 0x3cc]
call fcn.0041060e
pop ecx
test eax, eax
jne 0x4267f5
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], ecx
push 1
push dword [ebp - 0x3cc]
call fcn.00410334
add esp, 8
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d0], 5
jne 0x426840
push dword [ebp - 0x3d8]
call fcn.004067c6
pop ecx
test eax, eax
je 0x426834
push dword [ebp - 0x3cc]
call fcn.0041071d
pop ecx
test eax, eax
jne 0x426840
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], eax
mov edx, dword [ebp - 0x3d0]
cmp edx, dword [ebp - 0x3d4]
je 0x426922
cmp dword [ebp - 0x3d4], 5
je 0x426868
cmp dword [ebp - 0x3d0], 5
jne 0x426922
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x3f], 0
je 0x42687d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x98], 1
jle 0x4268b4
mov esi, 1
cmp dword [ebp - 0x3d0], 5
jne 0x426892
mov eax, str.into
jmp 0x426897
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0x10
jmp case.0x421502.0
cmp dword [ebp - 0x3d4], 5
jne 0x4268e5
push dword [ebp - 0x3cc]
call fcn.0041081d
pop ecx
mov esi, eax
test esi, esi
jne 0x4268fe
push dword [ebp - 0x3d0]
push dword [ebp - 0x3cc]
call fcn.00410524
add esp, 8
jmp 0x4268fe
cmp dword [ebp - 0x3d4], 4
jne 0x4268fe
push 2
push dword [ebp - 0x3cc]
call fcn.00410524
add esp, 8
test esi, esi
jne 0x426922
mov eax, 2
cmp dword [ebp - 0x3d0], 5
je 0x426911
dec eax
push eax
push dword [ebp - 0x3c8]
call fcn.0041a9c6
add esp, 8
mov esi, eax
test esi, esi
je 0x426932
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], eax
push dword [ebp - 0x3d0]
push dword [ebp - 0x3cc]
call fcn.00410524
add esp, 8
mov dword [ebp - 0x3d0], eax
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov word [ecx + 8], 0xa02
push dword [ebp - 0x3d0]
call fcn.0043dcb6
pop ecx
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x10]
call fcn.004067c6
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0xa], 1
xor edx, edx
mov dl, byte [ebp - 0xe]
push edx
push dword [ebp - 0x2c]
call fcn.0041b4e8
add esp, 8
jmp case.0x421502.0
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00449f32
add esp, 8
mov esi, eax
jmp case.0x421502.0
mov eax, dword [ebx + 4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x3dc], eax
push dword [ebp - 0x3dc]
call fcn.004152be
pop ecx
mov esi, eax
cmp esi, 0x65
jne case.0x421502.0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
xor esi, esi
jmp case.0x421502.0
cmp dword [ebx + 4], 0
jne 0x426a0d
push dword [ebp - 0xc]
call fcn.0041faec
pop ecx
jmp case.0x421502.0
mov eax, dword [ebp + 8]
or byte [eax + 0x58], 0x20
jmp case.0x421502.0
mov dl, byte [ebx + 0xc]
mov byte [ebp - 0x3dd], dl
cmp byte [ebp - 0x3dd], 0
jne 0x426a38
mov ecx, dword [ebp - 0xc]
test byte [ecx + 0x19], 0x40
jne case.0x421502.0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3e4], eax
mov dl, byte [ebp - 0x3dd]
push edx
push dword [ebx + 8]
mov ecx, dword [ebp - 0x3e4]
shl ecx, 4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
push dword [edx + ecx + 4]
call fcn.0041a91f
add esp, 0xc
mov esi, eax
mov eax, esi
and eax, 0xff
cmp eax, 6
jne case.0x421502.0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x3e8], edx
push dword [ebp - 0x3e8]
push str.database_table_is_locked:__s
push dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00404967
add esp, 0x10
jmp case.0x421502.0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x3ec], eax
push dword [ebp - 0x3ec]
push dword [ebp - 0xc]
call fcn.0044affb
add esp, 8
mov esi, eax
cmp dword [ebp - 0x3ec], 0
je case.0x421502.0
mov eax, dword [ebp - 0x3ec]
push dword [eax + 8]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
jmp case.0x421502.0
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.0044ac6b
add esp, 0x10
mov esi, eax
jmp case.0x421502.0
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0x58]
and dl, 0xf3
or dl, 8
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x58], dl
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.0044ae8f
add esp, 0xc
mov esi, eax
mov eax, dword [ebp + 8]
and byte [eax + 0x58], 0xf3
jmp case.0x421502.0
xor edx, edx
mov dword [ebp - 0x3f0], edx
xor ecx, ecx
mov dword [ebp - 0x3f4], ecx
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x3f8], edx
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [ecx]
mov dword [ebp - 0x3fc], eax
lea edx, [ebp - 0x3f4]
push edx
push dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x3fc]
call dword [ecx + 0x18]
add esp, 8
mov esi, eax
push dword [ebp - 0x3f8]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0x3f4]
mov edx, dword [ebp - 0x3f8]
mov dword [eax], edx
push 0
push 0xffffffffffffffff
push 0
push dword [ebx + 4]
push dword [ebp + 8]
call fcn.00421159
add esp, 0x14
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
je 0x426bd8
mov ecx, dword [ebp - 0x3f0]
mov eax, dword [ebp - 0x3f4]
mov dword [ecx + 0x20], eax
jmp case.0x421502.0
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x41], 1
push dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x3fc]
call dword [ecx + 0x1c]
pop ecx
jmp case.0x421502.0
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x40c]
add edx, 0x28
mov dword [ebp - 0x410], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x41c], ecx
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x414], edx
mov ecx, dword [ebp - 0x414]
mov eax, dword [ecx]
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x418]
mov ecx, dword [edx]
mov dword [ebp - 0x408], ecx
mov eax, dword [ebp - 0x410]
mov eax, dword [eax]
mov dword [ebp - 0x400], eax
mov edx, dword [ebp - 0x40c]
mov eax, dword [edx]
mov dword [ebp - 0x404], eax
xor edx, edx
mov dword [ebp - 0x420], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x428], eax
xor edx, edx
mov dword [ebp - 0x424], edx
mov ecx, dword [ebp - 0x424]
cmp ecx, dword [ebp - 0x400]
jge 0x426cce
mov eax, dword [ebp - 0x428]
mov edx, dword [ebp - 0x424]
mov ecx, dword [ebp - 0x424]
inc ecx
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x410]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x424]
mov eax, dword [ebp - 0x424]
cmp eax, dword [ebp - 0x400]
jl 0x426c98
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x58]
and al, 0xf3
or al, 4
mov edx, dword [ebp + 8]
mov byte [edx + 0x58], al
push dword [ebp - 0x428]
push dword [ebp - 0x400]
push dword [ebx + 0x10]
push dword [ebp - 0x404]
push dword [ebp - 0x414]
mov ecx, dword [ebp - 0x408]
call dword [ecx + 0x20]
add esp, 0x14
mov esi, eax
mov eax, dword [ebp + 8]
and byte [eax + 0x58], 0xf3
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
test esi, esi
jne 0x426d39
push dword [ebp - 0x414]
mov edx, dword [ebp - 0x408]
call dword [edx + 0x28]
pop ecx
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
je 0x426d49
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x41c]
mov byte [eax + 0x19], 0
jmp case.0x421502.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x438], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x434], ecx
mov eax, dword [ebp - 0x438]
cmp byte [eax + 0x19], 0
je 0x426d99
push dword [ebp - 0x434]
call fcn.0041bbef
pop ecx
jmp case.0x421502.0
mov edx, dword [ebp - 0x438]
mov ecx, dword [edx + 0x20]
mov eax, dword [ecx]
mov dword [ebp - 0x42c], eax
mov edx, dword [ebp - 0x42c]
mov ecx, dword [edx]
mov dword [ebp - 0x430], ecx
push 0x1c
push 0
lea eax, [ebp - 0x654]
push eax
call fcn.004595e8
add esp, 0xc
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x654], edx
mov ecx, dword [ebp - 0x434]
mov ax, word [ecx + 8]
and ax, 0xbe00
or ax, 1
mov edx, dword [ebp - 0x434]
mov word [edx + 8], ax
push dword [ebx + 8]
lea ecx, [ebp - 0x654]
push ecx
mov eax, dword [ebp - 0x438]
push dword [eax + 0x20]
mov edx, dword [ebp - 0x430]
call dword [edx + 0x2c]
add esp, 0xc
mov esi, eax
push dword [ebp - 0x42c]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
cmp dword [ebp - 0x640], 0
je 0x426e34
mov esi, dword [ebp - 0x640]
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
push dword [ebp - 0x434]
call fcn.0041b4e8
add esp, 8
push dword [ebp - 0x434]
call fcn.0041bd35
pop ecx
test eax, eax
jne 0x427281
jmp case.0x421502.0
xor edx, edx
mov dword [ebp - 0x444], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x448], ecx
mov eax, dword [ebp - 0x448]
cmp byte [eax + 0x19], 0
jne case.0x421502.0
mov edx, dword [ebp - 0x448]
mov ecx, dword [edx + 0x20]
mov eax, dword [ecx]
mov dword [ebp - 0x43c], eax
mov edx, dword [ebp - 0x43c]
mov ecx, dword [edx]
mov dword [ebp - 0x440], ecx
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0x58]
and dl, 0xf3
or dl, 4
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x58], dl
mov eax, dword [ebp - 0x448]
push dword [eax + 0x20]
mov edx, dword [ebp - 0x440]
call dword [edx + 0x24]
pop ecx
mov esi, eax
mov eax, dword [ebp + 8]
and byte [eax + 0x58], 0xf3
push dword [ebp - 0x43c]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
test esi, esi
jne 0x426f06
mov edx, dword [ebp - 0x448]
push dword [edx + 0x20]
mov ecx, dword [ebp - 0x440]
call dword [ecx + 0x28]
pop ecx
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0
jne 0x421778
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
jmp 0x421778
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x44c], ecx
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x450], eax
push 1
push dword [ebp - 0x450]
call fcn.0041b4e8
add esp, 8
mov esi, eax
test esi, esi
jne case.0x421502.0
mov eax, dword [ebp - 0x450]
push dword [eax + 0x10]
mov edx, dword [ebp - 0x44c]
push edx
mov ecx, dword [edx]
call dword [ecx + 0x4c]
add esp, 8
mov esi, eax
push dword [ebp - 0x44c]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
mov eax, dword [ebp + 8]
and byte [eax + 0x58], 0xdf
jmp case.0x421502.0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x454], ecx
mov eax, dword [ebp - 0x454]
mov edx, dword [eax]
mov dword [ebp - 0x458], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x45c], ecx
mov eax, dword [ebp - 0x458]
cmp dword [eax + 0x34], 0
je case.0x421502.0
mov edx, dword [ebp - 0xc]
mov cl, byte [edx + 0x45]
mov byte [ebp - 0x471], cl
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x46c], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x470], ecx
xor eax, eax
mov dword [ebp - 0x460], eax
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x45c]
jge 0x427031
mov ecx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x460]
mov edx, dword [ebp - 0x470]
mov dword [ecx + eax*4], edx
add dword [ebp - 0x470], 0x28
inc dword [ebp - 0x460]
mov ecx, dword [ebp - 0x460]
cmp ecx, dword [ebp - 0x45c]
jl 0x427001
mov eax, dword [ebp - 0xc]
mov dl, byte [ebx + 3]
mov byte [eax + 0x45], dl
lea ecx, [ebp - 0x468]
push ecx
push dword [ebp - 0x46c]
push dword [ebp - 0x45c]
push dword [ebp - 0x454]
mov eax, dword [ebp - 0x458]
call dword [eax + 0x34]
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0xc]
mov dl, byte [ebp - 0x471]
mov byte [eax + 0x45], dl
push dword [ebp - 0x454]
push dword [ebp + 8]
call fcn.0041fb8e
add esp, 8
test esi, esi
jne 0x4270a3
cmp dword [ebx + 4], 0
je 0x4270a3
mov eax, dword [ebp - 0x468]
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, esi
and eax, 0xff
cmp eax, 0x13
jne 0x4270dd
mov edx, dword [ebx + 0x10]
cmp byte [edx + 0x10], 0
je 0x4270dd
cmp byte [ebx + 3], 4
jne 0x4270c5
xor esi, esi
jmp case.0x421502.0
cmp byte [ebx + 3], 5
jne 0x4270cf
mov al, 2
jmp 0x4270d2
mov al, byte [ebx + 3]
mov edx, dword [ebp + 8]
mov byte [edx + 0x56], al
jmp case.0x421502.0
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x5c]
jmp case.0x421502.0
mov eax, dword [ebx + 4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x10]
push dword [ecx + eax + 4]
call fcn.00413ee8
pop ecx
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
mov eax, dword [ebx + 4]
shl eax, 4
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x47c], eax
xor ecx, ecx
mov dword [ebp - 0x478], ecx
cmp dword [ebx + 0xc], 0
je 0x427157
push dword [ebp - 0x47c]
call fcn.00413ee8
pop ecx
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x478]
cmp eax, dword [ebx + 0xc]
jae 0x427157
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x478], edx
push dword [ebp - 0x478]
push dword [ebp - 0x47c]
call fcn.004146af
add esp, 8
cdq
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x421502.0
cmp dword [ebx + 8], 0
je 0x427186
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0xac], 0
je case.0x421502.0
mov ecx, dword [ebp + 8]
test byte [ecx + 0x59], 8
jne case.0x421502.0
cmp dword [ebx + 0x10], 0
je 0x4271a6
mov eax, dword [ebx + 0x10]
jmp 0x4271af
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0x480], eax
test eax, eax
je case.0x421502.0
push dword [ebp - 0x480]
push dword [ebp + 8]
call fcn.00420eb9
add esp, 8
mov dword [ebp - 0x484], eax
push dword [ebp - 0x484]
mov edx, dword [ebp - 0xc]
push dword [edx + 0xb0]
mov ecx, dword [ebp - 0xc]
call dword [ecx + 0xac]
add esp, 8
push dword [ebp - 0x484]
push dword [ebp - 0xc]
call fcn.0040452f
add esp, 8
inc dword [ebp - 4]
test esi, esi
je 0x4214a5
mov eax, dword [ebp + 8]
mov dword [eax + 0x50], esi
mov edx, dword [ebp + 8]
push dword [edx + 0x2c]
mov ecx, dword [ebp + 8]
push dword [ecx + 0xa8]
push dword [ebp - 4]
push str.statement_aborts_at__d:___s___s
push esi
call fcn.00405ee7
add esp, 0x14
push dword [ebp + 8]
call fcn.0041e10b
pop ecx
cmp esi, 0xc0a
jne 0x427245
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x41], 1
mov esi, 1
cmp byte [ebp - 0xd], 0
jbe 0x427262
xor eax, eax
mov al, byte [ebp - 0xd]
dec eax
push eax
push dword [ebp - 0xc]
call fcn.00432345
add esp, 8
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0x20], ecx
mov ecx, dword [ebp - 0x34]
mov dword [edx + 0x24], ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
add dword [eax + 0x7c], edx
mov eax, esi
jmp 0x427337
push str.string_or_blob_too_big
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0xc
mov esi, 0x12
jmp 0x427207
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x41], 1
push str.out_of_memory
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0xc
mov esi, 7
jmp 0x427207
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x41], 0
je 0x4272d8
mov esi, 7
cmp esi, 0xc0a
je 0x427207
push esi
call fcn.0045696f
pop ecx
push eax
push 0x4683a6
push dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
call fcn.00404967
add esp, 0x10
jmp 0x427207
mov esi, 9
mov eax, dword [ebp + 8]
mov dword [eax + 0x50], esi
push esi
call fcn.0045696f
pop ecx
push eax
push 0x4683a6
push dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, 0x2c
push edx
call fcn.00404967
add esp, 0x10
jmp 0x427207
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret