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

Disassembly:
sub esp, 0x12c
mov eax, dword [0x47c028]
xor eax, esp
mov dword [esp + 0x124], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi]
mov ecx, dword [ebp + 0x10]
mov eax, dword [esi + 4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 0x20]
xor ebx, ebx
mov dword [esp + 0x44], eax
mov al, byte [edx + 0x4d]
mov edx, dword [ebp + 0x24]
push edi
mov edi, dword [esi + 8]
push esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x3b], bl
mov byte [esp + 0x2c], al
mov dword [esp + 0x44], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
call fcn.004226e0
add esp, 4
cmp dword [esi + 0x58], 7
je 0x427333
xor eax, eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0xe0]
test ecx, ecx
mov dword [ebp + 0x1b4], eax
jne 0x42c055
xor edx, edx
cmp dword [ebp + 0x114], eax
mov eax, dword [esi + 0x54]
setne dl
mov dword [esp + 0x1c], eax
mov ecx, ebp
mov dword [esp + 0x50], edx
jmp 0x426f54
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
cmp byte [ecx + 0x36], 0
jne 0x427333
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx*4]
je 0x426fa6
mov edx, dword [esp + 0x40]
cmp dword [ecx + 0x11c], edx
jne 0x426fa1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x118]
mov edx, dword [eax + 0x114]
push ecx
call edx
add esp, 4
test eax, eax
jne 0x42be5d
mov dword [esp + 0x40], eax
add dword [esp + 0x40], 1
test byte [ebp + 2], 2
je 0x426fcf
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test word [edi + eax*8 + 0x1c], 0x2460
lea ebx, [edi + eax*8]
mov dword [esp + 0x24], ebx
je 0x426fc9
mov eax, ebx
call fcn.00420a30
mov word [ebx + 0x1c], 4
movzx eax, byte [ebp]
add eax, 0xffffffff
cmp eax, 0x93
ja case.default.0x426fe1
jmp dword [eax*4 + 0x42c094]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x42c055
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esp + 0x1c]
cdq
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [esp + 0x1c], ecx
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov eax, dword [edi + edx*8 + 0x10]
mov dword [esp + 0x1c], eax
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x1c]
lea ecx, [ebp + ebp*4]
mov edx, dword [edi + ecx*8 + 0x10]
lea ecx, [edi + ecx*8]
mov word [ecx + 0x1c], 4
mov dword [esp + 0x68], edx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
je case.default.0x426fe1
cmp dword [ebp + 4], 0
jne 0x42be6a
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x42be6a
mov edx, dword [eax + 4]
mov ecx, dword [esi + 0x68]
add dword [esi + 0xb0], 0xffffffff
mov edi, dword [esp + 0x18]
mov dword [esi + 0xa8], edx
add dword [edi + 0x48], ecx
mov dword [edi + 0x44], ecx
call fcn.00423070
cmp dword [ebp + 8], 4
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
jne 0x4270ea
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
sub edx, 1
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x426fe1
mov ebp, dword [ebp + 0x10]
mov edx, dword [ebp]
mov dword [ebx + 0x10], edx
mov eax, dword [ebp + 4]
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
mov word [ebx + 0x1c], 8
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [ebx + 8]
jmp case.default.0x426fe1
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 9
call fcn.00408d90
cmp byte [esp + 0x28], 1
mov dword [ebp + 4], eax
je 0x4271b6
push 1
push 0xffffffffffffffff
push ecx
xor eax, eax
mov ecx, ebx
call fcn.004210c0
add esp, 0xc
cmp eax, 0x12
mov dword [esp + 0x14], eax
je 0x427a47
movzx ecx, byte [esp + 0x28]
mov eax, ebx
call fcn.004206e0
test eax, eax
jne 0x427333
mov ebx, dword [esp + 0x24]
mov dx, word [ebx + 0x1c]
and dx, 0xfbff
or dx, 0x800
mov dword [ebx + 0x24], eax
mov word [ebx + 0x1c], dx
cmp byte [ebp + 1], 0xff
jne 0x4271a6
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.00406d00
mov byte [ebp + 1], 0xff
mov eax, dword [ebx + 4]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebx + 0x18]
mov dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
cmp edx, dword [eax + 0x4c]
jg 0x427a47
mov al, byte [esp + 0x28]
mov word [ebx + 0x1c], 0xa02
mov ecx, dword [ebp + 0x10]
mov dword [ebx + 4], ecx
mov edx, dword [ebp + 4]
mov dword [ebx + 0x18], edx
mov byte [ebx + 0x1f], al
jmp case.default.0x426fe1
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
mov dword [esp + 0x68], ecx
mov word [ebx + 0x1c], 1
cmp dword [esp + 0x68], 0
jle case.default.0x426fe1
nop
add ebx, 0x28
test word [ebx + 0x1c], 0x2460
je 0x427212
mov eax, ebx
call fcn.00420a30
mov word [ebx + 0x1c], 1
mov eax, dword [esp + 0x68]
sub eax, 1
test eax, eax
mov dword [esp + 0x68], eax
jg 0x427200
mov dword [esp + 0x24], ebx
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 0x10]
push 0
push edx
push eax
xor eax, eax
mov ecx, ebx
call fcn.004210c0
mov cl, byte [esp + 0x34]
add esp, 0xc
mov byte [ebx + 0x1f], cl
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 0x44]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x68], esi
call fcn.00420f90
test eax, eax
jne 0x427a47
push 0x800
push esi
call fcn.00420fc0
add esp, 8
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
test eax, eax
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x70], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edx, [ebp + ebp*4]
lea ebx, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x24], ecx
je 0x4272e7
mov esi, ecx
sub eax, 1
mov dword [esp + 0x6c], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x68], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.00421070
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x6c]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x4272b2
mov dword [esp + 0x24], esi
sub eax, 1
mov dword [esp + 0x6c], eax
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x2c], ebx
call fcn.00420fc0
add esp, 8
test word [ebx + 0x1c], 0x1000
je case.default.0x426fe1
mov eax, ebx
call fcn.00420800
test eax, eax
je case.default.0x426fe1
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
push str.out_of_memory
add edi, 0x34
mov byte [eax + 0x36], 1
call fcn.004070e0
mov dword [esp + 0x18], 7
jmp 0x427a64
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x2c], ebx
call fcn.00420fc0
add esp, 8
jmp case.default.0x426fe1
push 0
mov ecx, esi
call fcn.00423ae0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
push 1
push esi
call fcn.004239e0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov ecx, dword [esi + 0x50]
add ecx, 2
or ecx, 1
mov dword [esi + 0x50], ecx
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
xor ecx, ecx
mov dword [esi + 0x14], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
cmp dword [ebp + 8], ecx
jle 0x42742f
mov edx, dword [esp + 0x68]
lea eax, [ecx + ecx*4]
test word [edx + eax*8 + 0x1c], 0x1000
lea eax, [edx + eax*8]
je 0x4273fd
call fcn.00420800
test eax, eax
jne 0x427333
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x68]
lea eax, [ecx + eax*8]
call fcn.004208c0
mov eax, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x68]
lea ecx, [eax + edx*8]
call fcn.00426c10
mov ecx, dword [esp + 0x6c]
add ecx, 1
mov dword [esp + 0x6c], ecx
cmp ecx, dword [ebp + 8]
jl 0x4273d9
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x36], 0
jne 0x427333
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add edx, 1
mov dword [eax + 0x54], edx
mov edi, 0x64
jmp 0x427ac4
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea esi, [edi + ecx*8]
lea edx, [eax + eax*4]
mov cl, byte [edi + edx*8 + 0x1c]
lea eax, [ebp + ebp*4]
lea ebx, [edi + edx*8]
lea edi, [edi + eax*8]
movzx eax, word [esi + 0x1c]
or cl, al
test cl, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], edi
je 0x427494
mov esi, edi
call fcn.00420d50
jmp case.default.0x426fe1
test eax, 0x4000
je 0x4274aa
mov eax, esi
call fcn.00420860
test eax, eax
jne 0x427333
test word [ebx + 0x1c], 0x4000
je 0x4274c1
mov eax, ebx
call fcn.00420860
test eax, eax
jne 0x427333
test byte [esi + 0x1c], 0x12
jne 0x4274e1
movzx esi, byte [esp + 0x28]
mov eax, dword [esp + 0x30]
call fcn.00420910
test eax, eax
jne 0x427333
mov esi, dword [esp + 0x30]
test byte [ebx + 0x1c], 0x12
jne 0x4274ff
movzx esi, byte [esp + 0x28]
mov eax, ebx
call fcn.00420910
test eax, eax
jne 0x427333
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x427a47
jl 0x42752c
cmp edi, eax
ja 0x427a47
mov edi, dword [esp + 0x24]
mov ax, word [edi + 0x1c]
and ax, 0xbf02
or ax, 2
xor ecx, ecx
cmp edi, ebx
sete cl
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
add eax, 2
push ecx
call fcn.00420700
add esp, 4
test eax, eax
jne 0x427333
cmp edi, ebx
je 0x427577
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x18]
mov ecx, dword [ebx + 0x18]
mov eax, dword [esi + 4]
add ecx, dword [edi + 4]
push edx
push eax
push ecx
call sub.MSVCR80.dll_memcpy
mov eax, dword [esp + 0x74]
mov edx, dword [edi + 4]
mov byte [eax + edx], 0
mov edx, dword [esp + 0x74]
mov ecx, dword [edi + 4]
mov byte [ecx + edx + 1], 0
mov cl, byte [esp + 0x34]
add esp, 0xc
or word [edi + 0x1c], 0x200
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], cl
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov esi, ebx
call fcn.00426d00
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.00426d00
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 0x1c]
lea edx, [edi + ecx*8]
movzx ecx, word [ebx + 0x1c]
or eax, ecx
test al, 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x68], eax
jne 0x427838
mov dl, byte [esi + 0x1c]
and dl, byte [ebx + 0x1c]
test dl, 4
je 0x427657
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x74], ecx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x78], edi
mov edx, dword [esi + 0x14]
mov dword [esp + 0x7c], edx
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x427636
jmp dword [edx*4 + 0x42c2e4]
push ecx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.00409c60
add esp, 0xc
test eax, eax
je 0x42772d
mov eax, ebx
call fcn.00420bb0
fstp qword [esp + 0x80]
mov eax, esi
call fcn.00420bb0
fst qword [esp + 0x88]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x427683
jmp dword [eax*4 + 0x42c2f4]
push ecx
push eax
lea edx, [esp + 0x80]
call fcn.00409cf0
add esp, 8
test eax, eax
jne 0x427657
jmp 0x42772d
push ecx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.00409d40
add esp, 0xc
test eax, eax
jne 0x427657
jmp 0x42772d
mov edx, eax
or edx, ecx
je 0x427838
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4276e1
test edi, edi
jne 0x4276e1
cmp dword [esp + 0x7c], 0x80000000
je 0x427657
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push edi
call fcn.0046ba80
jmp 0x427725
mov edx, eax
or edx, ecx
je 0x427838
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x427715
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push edi
call fcn.0046b8d0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x7c]
and cx, 0xbf04
or cx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x426fe1
fadd qword [esp + 0x80]
jmp 0x4277e7
fsub qword [esp + 0x80]
jmp 0x4277e7
fmul qword [esp + 0x80]
jmp 0x4277e7
fldz
fld qword [esp + 0x80]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x427834
fdivp st(1)
jmp 0x4277e7
fld qword [esp + 0x80]
call fcn.0046b9c6
mov esi, eax
mov ebx, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
call fcn.0046b9c6
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
je 0x427838
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x4277d2
mov esi, 1
xor ebx, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
push ebx
push esi
push edx
push eax
call fcn.0046b8d0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
fild qword [esp + 0x58]
sub esp, 8
fst qword [esp + 0x90]
fstp qword [esp]
call fcn.00408d50
add esp, 8
test eax, eax
jne 0x427838
mov esi, dword [esp + 0x24]
fld qword [esp + 0x88]
mov dx, word [esi + 0x1c]
fstp qword [esi + 8]
and dx, 0xbf08
or dx, 8
mov word [esi + 0x1c], dx
test byte [esp + 0x68], 8
jne case.default.0x426fe1
call fcn.00420c00
jmp case.default.0x426fe1
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x24]
call fcn.00420d50
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
test ebp, ebp
je case.default.0x426fe1
lea eax, [ebp + ebp*4]
push 0
push 0
lea esi, [edi + eax*8]
call fcn.00420de0
add esp, 8
jmp case.default.0x426fe1
movzx ecx, byte [ebp + 3]
mov edx, dword [esi + 0xc]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], eax
jle 0x4278ef
mov ecx, dword [esp + 0xb0]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x6c]
test word [eax + 0x1c], 0x1000
je 0x4278c9
call fcn.00420800
test eax, eax
jne 0x427333
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.00426c10
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
add eax, 1
add edi, 0x28
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
jl 0x4278a2
cmp byte [ebp + 1], 0xfb
jne 0x427906
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], 0
jmp 0x427913
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov ebx, edi
lea eax, [esp + 0x78]
mov word [esp + 0x94], 1
mov dword [esp + 0x78], esi
call fcn.00421070
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x70]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0x94], cx
mov dword [esp + 0xa8], 0
test byte [edx + 3], 8
je 0x42797b
mov eax, dword [ebp - 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x78]
push edx
call ecx
mov ebx, dword [esp + 0x80]
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
je 0x4279da
mov ecx, dword [ebp + 4]
push ecx
call fcn.00423f80
mov edx, dword [esp + 0x78]
add esp, 4
mov dword [ebp + 0x10], edx
mov byte [ebp + 1], 0xf9
cmp byte [esi + 0x36], 0
jne 0x42bf04
cmp dword [esp + 0xa8], 0
je 0x427a1f
mov bl, 1
lea edi, [esp + 0x78]
call fcn.00421620
mov edi, dword [esp + 0x20]
push eax
push 0x4740c0
add edi, 0x34
mov eax, esi
call fcn.004070e0
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x78]
call fcn.004206e0
lea ebx, [esp + 0x78]
mov eax, edi
call fcn.00421070
mov ecx, edi
call fcn.00420f90
test eax, eax
je case.default.0x426fe1
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push str.string_or_blob_too_big
add edi, 0x34
call fcn.004070e0
mov dword [esp + 0x18], 0x12
add esp, 4
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x58], edi
call fcn.00408500
add esp, 0x14
push esi
call fcn.00423b40
add esp, 4
cmp edi, 0xc0a
jne 0x427aa9
mov edx, dword [esp + 0x18]
mov byte [edx + 0x36], 1
mov al, byte [esp + 0x37]
test al, al
mov edi, 1
jbe 0x427ac4
mov ecx, dword [esp + 0x18]
movzx eax, al
sub eax, edi
call fcn.00437950
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x20]
push eax
call fcn.00422750
mov ecx, dword [esp + 0x138]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046ae55
add esp, 0x12c
ret
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea ebx, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [ebx + 0x1c]
lea eax, [eax + eax*4]
test dl, 1
lea esi, [edi + eax*8]
mov dword [esp + 0x24], esi
je 0x427b32
call fcn.00420d50
jmp case.default.0x426fe1
call fcn.00420b40
mov ecx, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
call fcn.00420b40
mov edi, eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
mov al, byte [ebp]
cmp al, 0x52
mov byte [esp + 0x80], al
jne 0x427b6b
and dword [esp + 0x68], edi
and dword [esp + 0x6c], edx
jmp 0x427c6e
cmp al, 0x53
jne 0x427b7c
or dword [esp + 0x68], edi
or dword [esp + 0x6c], edx
jmp 0x427c6e
mov ecx, edi
or ecx, edx
je 0x427c6e
test edx, edx
jg 0x427bc3
jl 0x427b90
test edi, edi
jae 0x427bb8
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [esp + 0x80], al
jl 0x427be8
jg 0x427ba9
cmp edi, 0xffffffc0
jbe 0x427be8
neg edi
adc edx, 0
neg edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
test edx, edx
jl 0x427c07
jg 0x427bc3
cmp edi, 0x40
jb 0x427c07
cmp dword [esp + 0x6c], 0
jg 0x427bfa
jl 0x427bd3
cmp dword [esp + 0x68], 0
jae 0x427bfa
cmp al, 0x54
je 0x427bfa
or eax, 0xffffffff
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
jmp 0x427c6e
mov dword [esp + 0x78], 0x40
mov dword [esp + 0x7c], 0
jmp 0x427bc3
xor eax, eax
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
jmp 0x427c6e
cmp al, 0x54
mov eax, dword [esp + 0x68]
mov ecx, edi
jne 0x427c20
mov edx, dword [esp + 0x6c]
call fcn.0046b8a0
mov ebx, eax
mov ebp, edx
jmp 0x427c5a
mov esi, dword [esp + 0x6c]
mov edx, esi
call fcn.0046bd30
test esi, esi
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebp
jg 0x427c62
jl 0x427c44
cmp dword [esp + 0x68], 0
jae 0x427c62
mov ecx, 0x40
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0046b8a0
or ebx, eax
or ebp, edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov esi, dword [esp + 0x24]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x68]
mov cx, word [esi + 0x1c]
and cx, 0xbf04
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x6c]
or cx, 4
mov dword [esi + 0x14], eax
mov word [esi + 0x1c], cx
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.00420c60
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.00426d00
test byte [esi + 0x1c], 8
je 0x427cc8
call fcn.00420c00
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x427ce7
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x42bf16
add ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [edi + ecx*8 + 0x1c], 4
lea esi, [edi + ecx*8]
je case.default.0x426fe1
call fcn.00420c80
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
movzx ecx, word [edi + edx*8 + 0x1c]
test cl, 1
lea edi, [edi + edx*8]
jne case.default.0x426fe1
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [edi + 0x1c], ax
jne 0x427d52
test al, 0xc
je 0x427d52
movzx esi, byte [esp + 0x28]
mov eax, edi
call fcn.00420910
and word [edi + 0x1c], 0xfff3
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x427d79
mov eax, edi
call fcn.00420860
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
and word [edi + 0x1c], 0xbfe3
mov dword [esp + 0x14], 0
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [edi + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x426fe1
test al, 0x10
jne 0x427dd0
test al, 2
jne 0x427dba
test al, 0xc
je 0x427dba
movzx esi, byte [esp + 0x28]
mov eax, edi
call fcn.00420910
mov cx, word [edi + 0x1c]
and cx, 0xbf10
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.default.0x426fe1
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
call fcn.00420ce0
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
test byte [edi + eax*8 + 0x1c], 1
lea esi, [edi + eax*8]
jne case.default.0x426fe1
call fcn.00420c60
jmp case.default.0x426fe1
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [edi + ecx*8 + 0x1c], 1
lea esi, [edi + ecx*8]
jne case.default.0x426fe1
call fcn.00420c80
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
mov cx, word [edi + edx*8 + 0x1c]
lea esi, [edi + edx*8]
lea eax, [eax + eax*4]
mov word [esp + 0x6e], cx
mov dx, word [edi + eax*8 + 0x1c]
lea ebx, [edi + eax*8]
mov al, dl
mov word [esp + 0x70], dx
mov dl, byte [esp + 0x6e]
mov cl, al
or cl, dl
test cl, 1
je 0x427ebd
mov cl, byte [ebp + 3]
test cl, cl
jns 0x427e7c
and al, dl
and al, 1
neg al
sbb eax, eax
add eax, 1
jmp 0x427f2a
test cl, 0x10
je 0x427ea5
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [edi + edx*8 + 0x1c]
lea edi, [edi + edx*8]
and ax, 0xbf01
or ax, 1
mov dword [esp + 0x24], edi
mov word [edi + 0x1c], ax
jmp case.default.0x426fe1
test cl, 8
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x6c], al
je 0x427efc
mov ecx, dword [esp + 0x28]
push ecx
mov edi, esi
call fcn.00426d80
mov edx, dword [esp + 0x2c]
mov al, byte [esp + 0x70]
add esp, 4
push edx
mov edi, ebx
call fcn.00426d80
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax + 0x36], 0
jne 0x427333
mov edi, dword [esp + 0x2c]
test word [esi + 0x1c], 0x4000
je 0x427f0b
mov eax, esi
call fcn.00420860
test word [ebx + 0x1c], 0x4000
je 0x427f1a
mov eax, ebx
call fcn.00420860
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, esi
mov edx, ebx
call fcn.00421280
add esp, 4
mov dword [esp + 0x68], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x427f3a
jmp dword [ecx*4 + 0x42c304]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x427f7d
xor ecx, ecx
test eax, eax
setne cl
jmp 0x427f7b
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp 0x427f7d
xor ecx, ecx
test eax, eax
setle cl
jmp 0x427f7b
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x427f7d
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
mov dword [esp + 0x68], eax
test byte [ebp + 3], 0x10
je 0x427fc4
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [edi + edx*8 + 0x1c]
lea edi, [edi + edx*8]
and ax, 0xbf04
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x68]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov cl, byte [esp + 0x6e]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x70]
mov dword [esp + 0x24], edi
mov byte [ebx + 0x1c], dl
jmp case.default.0x426fe1
test eax, eax
je 0x427fd2
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov cl, byte [esp + 0x6e]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x70]
mov byte [ebx + 0x1c], dl
jmp case.default.0x426fe1
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x44], eax
jmp case.default.0x426fe1
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x78], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x74], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x6c], eax
jle 0x4280a9
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
jmp 0x428029
mov esi, dword [esp + 0x78]
test ebx, ebx
je 0x428032
mov ecx, dword [ebx + eax*4]
jmp 0x428034
mov ecx, eax
mov dword [esp + 0x7c], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x80], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x88], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x74]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea edx, [edi + ecx*8]
call fcn.00421280
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
jne 0x428099
mov eax, dword [esp + 0x6c]
add eax, 1
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jl 0x428025
mov dword [esp + 0x44], 0
jmp case.default.0x426fe1
cmp dword [esp + 0x84], 0
je 0x4280a9
neg eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], 0
jmp case.default.0x426fe1
mov eax, dword [esp + 0x4c]
test eax, eax
jge 0x4280cd
mov ebp, dword [ebp + 4]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
jne 0x4280de
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov ebp, dword [ebp + 0xc]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea ecx, [edi + edx*8]
je 0x428104
mov edx, 2
jmp 0x428116
call fcn.00420b40
or eax, edx
je 0x428114
mov edx, 1
jmp 0x428116
xor edx, edx
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x428131
mov eax, 2
jmp 0x428147
call fcn.00420b40
or eax, edx
mov edx, dword [esp + 0x68]
je 0x428145
mov eax, 1
jmp 0x428147
xor eax, eax
mov dword [esp + 0x6c], eax
cmp byte [ebp], 0x45
jne 0x42815e
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x46ef6c]
jmp 0x428169
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x46efa0]
cmp eax, 2
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x24], edi
jne 0x428196
mov dx, word [edi + 0x1c]
and dx, 0xbf01
or dx, 1
mov word [edi + 0x1c], dx
jmp case.default.0x426fe1
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, 0xbf04
or ax, 4
mov dword [edi + 0x14], edx
mov word [edi + 0x1c], ax
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x24], esi
je 0x4281da
call fcn.00420d50
jmp case.default.0x426fe1
call fcn.00420b40
or eax, edx
jne 0x4281f8
mov eax, 1
cdq
push edx
push eax
call fcn.00420de0
add esp, 8
jmp case.default.0x426fe1
xor eax, eax
cdq
push edx
push eax
call fcn.00420de0
add esp, 8
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x24], esi
je 0x428232
call fcn.00420d50
jmp case.default.0x426fe1
call fcn.00420b40
not edx
not eax
push edx
push eax
call fcn.00420de0
add esp, 8
jmp case.default.0x426fe1
mov eax, dword [esi + 0xc0]
mov ecx, dword [ebp + 4]
add eax, ecx
cmp byte [eax], 0
je 0x428269
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov byte [eax], 1
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea eax, [edi + edx*8]
je 0x428286
mov eax, dword [ebp + 0xc]
jmp 0x4282b4
call fcn.00420bb0
fcomp qword [0x477d30]
fnstsw ax
test ah, 0x44
jnp 0x42829f
mov eax, 1
jmp 0x4282a1
xor eax, eax
mov dword [esp + 0x68], eax
cmp byte [ebp], 0x1c
jne 0x4282b8
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x68], eax
test eax, eax
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x78], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x7c], edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
xor edx, edx
mov dword [esp + 0x80], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0xa4], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x84], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
cmp ecx, edx
mov dword [esp + 0x88], ecx
je 0x42844d
mov esi, eax
call fcn.00424170
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov eax, dword [esp + 0x80]
cmp byte [eax + 0x1c], 0
je 0x4283cd
mov dword [esp + 0x68], 0
jmp 0x428421
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x20]
cmp ecx, dword [edx + 0x50]
jne 0x4283ec
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x84], edx
jmp 0x428415
cmp byte [eax + 0x1f], 0
mov esi, dword [esp + 0x88]
je 0x42843e
lea eax, [esp + 0x70]
push eax
call fcn.00419a70
mov ecx, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x42849b
mov eax, dword [esp + 0xa4]
mov dx, word [eax + 0x1c]
and dx, 0xbf01
or dx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x426fe1
lea edx, [esp + 0x68]
push edx
call fcn.00419ae0
add esp, 4
jmp 0x42840e
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jle 0x428495
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0xec], edi
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x84], ecx
test byte [ebp + 3], 0x20
je 0x428486
xor ecx, ecx
mov dword [eax + 0x50], ecx
mov eax, dword [esp + 0x80]
jmp 0x428419
mov ecx, dword [esi + 0x50]
mov dword [eax + 0x50], ecx
mov eax, dword [esp + 0x80]
jmp 0x428419
mov dword [esp + 0x68], edx
jmp 0x428421
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx + 0x4c]
ja 0x427a47
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x8c], edx
mov edi, dword [eax + 0x50]
cmp edi, dword [esi + 0x50]
jne 0x4284d3
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x90], eax
jmp 0x4287aa
lea ecx, [edx + ecx*4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0xe4], 0
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x42851a
mov dword [esp + 0xa0], ecx
jmp 0x428590
mov edx, dword [esp + 0x80]
cmp byte [edx + 0x1f], 0
je 0x42853d
mov esi, dword [esp + 0x88]
lea eax, [esp + 0xe4]
push eax
call fcn.0041a1a0
jmp 0x428551
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0xe4]
push ecx
call fcn.0041a200
mov edx, dword [esp + 0x6c]
add esp, 4
cmp edx, dword [esp + 0xe4]
mov dword [esp + 0xa0], eax
ja 0x42857b
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov dword [ecx + 0x60], eax
jmp 0x428589
mov edx, dword [esp + 0x80]
mov dword [edx + 0x60], 0
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4285a7
movzx edx, al
mov dword [esp + 0xd8], edx
mov eax, 1
jmp 0x4285c4
lea esi, [esp + 0xd8]
call fcn.00409ac0
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xa0]
movzx eax, al
cmp edx, 0x18003
movzx eax, al
mov dword [esp + 0xe0], eax
jbe 0x4285e9
mov eax, 0x10656
call fcn.00463d40
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov esi, dword [esp + 0x94]
lea ebx, [esi + esi*4 + 3]
cmp ebx, edx
mov dword [esp + 0x98], ebx
jle 0x428608
mov ebx, edx
mov dword [esp + 0x98], ebx
xor eax, eax
cmp dword [esp + 0x84], eax
jne 0x42867e
cmp dword [esp + 0xe4], ebx
jge 0x42867e
mov ecx, dword [esp + 0x80]
mov word [esp + 0xc4], ax
mov dword [esp + 0xa8], eax
movzx edx, byte [ecx + 0x1f]
push edx
push eax
mov eax, dword [esp + 0x90]
push eax
lea eax, [esp + 0xb4]
call fcn.00421510
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
mov dword [esp + 0xa0], ecx
lea eax, [ecx + ebx]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xe0]
add eax, ecx
mov dword [esp + 0xd0], eax
xor eax, eax
test esi, esi
mov dword [esp + 0x9c], eax
jle 0x428754
mov ecx, dword [esp + 0xd4]
cmp dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x90]
jae 0x428821
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0xd0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4286ea
movzx edx, al
add ecx, 1
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd0], ecx
jmp 0x428700
lea esi, [esp + 0xe8]
call fcn.00409ac0
movzx eax, al
add dword [esp + 0xd0], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x8c]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0xe8]
call fcn.00424310
mov edx, dword [esp + 0xd8]
add edx, eax
cmp edx, eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
jae 0x42882f
mov edx, dword [esp + 0xd4]
add edx, 1
mov dword [esp + 0xd0], edx
lea eax, [esp + 0xa8]
push eax
call fcn.00420aa0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
add esp, 4
cmp eax, ecx
mov word [esp + 0xc4], 1
ja 0x428984
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x68]
cmp edx, esi
ja 0x428984
cmp eax, ecx
jne 0x4287a3
cmp edx, esi
jne 0x428984
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
cmp dword [ecx + edi*4], 0
je 0x4288f1
cmp dword [esp + 0x84], 0
je 0x428852
mov eax, dword [esp + 0xa4]
test word [eax + 0x1c], 0x2460
je 0x4287f3
call fcn.00420a30
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + edi*4]
add ecx, dword [esp + 0x84]
mov esi, eax
mov eax, dword [edx + edi*4]
call fcn.004243e0
mov ecx, dword [esp + 0xa4]
mov dl, byte [esp + 0x28]
mov byte [ecx + 0x1f], dl
jmp 0x428929
mov dword [ecx + eax*4], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0x9c]
add eax, 1
cmp eax, dword [esp + 0x94]
mov dword [esp + 0x9c], eax
jl 0x4286a9
jmp 0x428754
mov eax, dword [edx + edi*4]
call fcn.00424310
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
lea eax, [esp + 0xa8]
call fcn.00421070
mov edx, dword [esp + 0x80]
movzx eax, byte [edx + 0x1f]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x98]
push eax
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
lea eax, [esp + 0xb4]
call fcn.00421510
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xa0], ecx
mov eax, dword [edx + eax*4]
call fcn.004243e0
mov ecx, dword [esp + 0xa4]
mov dl, byte [esp + 0x28]
mov byte [ecx + 0x1f], dl
jmp 0x428929
cmp byte [ebp + 1], 0xf8
jne 0x428911
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0xa4]
push 0x800
push eax
call fcn.00420fc0
add esp, 8
jmp 0x428929
mov eax, dword [esp + 0xa4]
mov cx, word [eax + 0x1c]
and cx, 0xbf01
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [esp + 0xcc], 0
je 0x42896f
mov eax, dword [esp + 0xa4]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [esp + 0xa4]
or word [eax + 0x1c], 0x200
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0xa4]
call fcn.00420800
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, 0x106a6
call fcn.00463d40
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [edi + eax*8]
mov al, byte [ecx]
test al, al
mov byte [esp + 0x6c], al
je 0x4289ea
add ecx, 1
mov dword [esp + 0x68], ecx
test word [edi + 0x1c], 0x4000
je 0x4289cc
mov eax, edi
call fcn.00420860
mov al, byte [esp + 0x6c]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00426d80
mov ecx, dword [esp + 0x6c]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
test al, al
mov byte [esp + 0x6c], al
jne 0x4289b2
add ecx, 1
mov dword [esp + 0x68], ecx
jmp case.default.0x426fe1
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x9c], eax
mov edx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [esp + 0xa0], edx
movzx edx, byte [esi + 0x61]
mov dword [esp + 0x94], ebx
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov dword [esp + 0x9c], eax
lea eax, [ebx + ecx*8 - 0x28]
cmp ebx, eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0x98], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edx, [edi + ecx*8]
mov edi, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], edi
ja 0x428b47
cmp dword [esp + 0xa0], 0
je 0x428aac
mov eax, dword [esp + 0x28]
push eax
mov ecx, edi
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0xa4]
mov al, byte [ecx + edx]
call fcn.00426d80
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x70]
add esp, 4
test word [edi + 0x1c], 0x4000
je 0x428acc
cmp dword [edi + 0x18], 0
jle 0x428acc
mov eax, edi
call fcn.00420860
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0xa4]
push eax
mov ecx, edi
call fcn.00424220
mov ecx, eax
add esp, 4
mov dword [esp + 0x90], ecx
call fcn.00424310
mov esi, eax
cdq
add dword [esp + 0x70], eax
push 0
push ecx
adc dword [esp + 0x7c], edx
mov dword [esp + 0xb4], esi
call fcn.00409b40
add dword [esp + 0x80], eax
add esp, 8
test word [edi + 0x1c], 0x4000
je 0x428b24
mov ecx, dword [edi + 0x10]
add dword [esp + 0x88], ecx
jmp 0x428b33
test esi, esi
je 0x428b33
mov dword [esp + 0x88], 0
add edi, 0x28
cmp edi, dword [esp + 0x98]
mov dword [esp + 0x6c], edi
jbe 0x428a6b
mov esi, dword [esp + 0x78]
mov eax, esi
cdq
push edx
push eax
call fcn.00409b40
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0x88], esi
call fcn.00409b40
add esp, 0x10
cmp edi, eax
jge 0x428b7f
add esi, 1
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x88]
cdq
mov edi, eax
mov eax, esi
mov ebx, edx
cdq
mov esi, eax
mov ecx, edx
mov edx, dword [esp + 0x18]
sub esi, edi
sbb ecx, ebx
add esi, dword [esp + 0x70]
adc ecx, dword [esp + 0x74]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x427a47
jl 0x428bc6
cmp esi, eax
ja 0x427a47
mov edi, dword [esp + 0x24]
push 0
mov eax, esi
call fcn.00420700
add esp, 4
test eax, eax
jne 0x427333
mov eax, dword [esp + 0x78]
cmp eax, 0x80
mov ecx, dword [edi + 4]
mov dword [esp + 0x68], ecx
jae 0x428bf9
mov byte [ecx], al
mov eax, 1
jmp 0x428bfe
call fcn.00409900
mov ecx, dword [esp + 0x94]
movzx esi, al
mov eax, dword [esp + 0x98]
cmp ecx, eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
ja 0x428c88
mov edi, edi
mov edx, dword [esp + 0xa4]
push edx
call fcn.00424220
add esp, 4
cmp eax, 0x80
mov dword [esp + 0x90], eax
jae 0x428c4c
mov ecx, dword [esp + 0x68]
mov byte [esi + ecx], al
mov eax, 1
jmp 0x428c58
mov edx, dword [esp + 0x68]
lea ecx, [esi + edx]
call fcn.00409900
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x6c]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x98]
add ecx, 0x28
cmp ecx, eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
jbe 0x428c20
mov ecx, dword [esp + 0x94]
cmp ecx, eax
mov dword [esp + 0x6c], ecx
ja 0x428cd4
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x68]
sub edx, esi
lea ebx, [esi + eax]
mov eax, dword [esp + 0xa4]
push edx
call fcn.00424330
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0xac]
add ecx, 0x28
add esi, eax
add esp, 4
cmp ecx, dword [esp + 0x98]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
jbe 0x428c90
mov ecx, dword [esp + 0x80]
mov dword [edi + 0x18], ecx
mov word [edi + 0x1c], 0x410
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x428cff
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], 0x4410
mov byte [edi + 0x1f], 1
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x70], eax
je 0x428d41
lea edx, [esp + 0x68]
push edx
call fcn.0041e0d0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x10], eax
mov ecx, dword [esp + 0x70]
add esp, 4
mov dword [ebx + 0x14], ecx
jmp case.default.0x426fe1
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov eax, ecx
mov dword [ebx + 0x10], eax
mov ecx, dword [esp + 0x6c]
mov dword [ebx + 0x14], ecx
jmp case.default.0x426fe1
mov ebx, dword [ebp + 4]
test ebx, ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], ebx
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x6c], ebp
jne 0x428e5a
cmp dword [edx + 0x84], ebx
jle 0x428d9f
mov edi, dword [esp + 0x20]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x34
mov eax, edx
call fcn.004070e0
add esp, 4
mov dword [esp + 0x14], 5
jmp case.default.0x426fe1
mov ecx, ebp
call fcn.00408d90
mov dword [esp + 0x70], eax
mov eax, edx
mov ecx, dword [eax + 0x1e4]
add ecx, dword [eax + 0x1e0]
push ecx
push 0
push eax
call fcn.00457440
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
add ecx, 0x19
call fcn.00406f20
test eax, eax
mov dword [esp + 0x74], eax
je case.default.0x426fe1
lea edx, [eax + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
add eax, 1
push eax
mov eax, dword [edx]
push ecx
push eax
call sub.MSVCR80.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x34], 0
je 0x428e1d
mov byte [esi + 0x34], 0
mov byte [esi + 0x3b], 1
jmp 0x428e24
add dword [esi + 0x1e0], 1
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0x1e8]
mov dword [esi + 0x1d8], eax
mov edx, dword [esp + 0x74]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0xc], eax
jmp case.default.0x426fe1
mov dword [esp + 0x80], 0
mov edi, dword [edx + 0x1d8]
test edi, edi
mov dword [esp + 0x78], edi
je 0x428e93
mov ecx, dword [edi]
mov edx, ebp
call fcn.00408f60
test eax, eax
je 0x428eb9
add dword [esp + 0x80], 1
mov edi, dword [edi + 0x10]
test edi, edi
mov dword [esp + 0x78], edi
jne 0x428e73
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push ebp
push str.no_such_savepoint:__s
add edi, 0x34
call fcn.004070e0
add esp, 8
mov dword [esp + 0x14], 1
jmp case.default.0x426fe1
mov ebp, dword [esp + 0x18]
cmp dword [ebp + 0x84], 0
jle 0x428eee
cmp ebx, 1
jne 0x428eee
mov edi, dword [esp + 0x20]
push str.cannot_release_savepoint___SQL_statements_in_progress
add edi, 0x34
mov eax, ebp
call fcn.004070e0
add esp, 4
mov dword [esp + 0x14], 5
jmp case.default.0x426fe1
cmp dword [edi + 0x10], 0
jne 0x428fc8
cmp byte [ebp + 0x3b], 0
je 0x428fc8
cmp ebx, 1
mov dword [esp + 0x30], 1
jne 0x428fd0
push ebx
mov ecx, esi
call fcn.00423ae0
mov edi, eax
add esp, 4
test edi, edi
jne 0x427ac4
mov edi, ebp
push esi
mov byte [edi + 0x34], bl
call fcn.00423b40
add esp, 4
cmp eax, 5
je 0x42bf23
mov byte [edi + 0x3b], 0
mov eax, dword [esi + 0x58]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov esi, ebp
cmp dword [esi + 0x1d8], edi
je 0x428f90
or ebx, 0xffffffff
jmp 0x428f60
mov eax, dword [esi + 0x1d8]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d8], eax
mov eax, dword [esp + 0x7c]
mov ecx, esi
call fcn.00406d00
add dword [esi + 0x1e0], ebx
mov edi, dword [esp + 0x78]
cmp dword [esi + 0x1d8], edi
jne 0x428f60
cmp dword [esp + 0x68], 1
jne 0x4290bc
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x1d8], ecx
mov eax, dword [esp + 0x78]
mov ecx, esi
call fcn.00406d00
cmp dword [esp + 0x30], 0
jne case.default.0x426fe1
mov eax, ebp
add dword [eax + 0x1e0], 0xffffffff
jmp 0x4290db
mov dword [esp + 0x30], 0
mov ebx, dword [ebp + 0x1e0]
sub ebx, dword [esp + 0x80]
xor eax, eax
sub ebx, 1
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], eax
cmp dword [ebp + 0x14], eax
jle 0x42902b
mov ecx, dword [ebp + 0x10]
shl eax, 4
mov edx, dword [eax + ecx + 4]
push 4
push edx
call fcn.004194c0
mov eax, dword [esp + 0x8c]
add eax, 1
add esp, 8
mov dword [esp + 0x84], eax
cmp eax, dword [ebp + 0x14]
jl 0x428ff5
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
xor eax, eax
mov dword [esp + 0x84], eax
cmp dword [ebp + 0x14], eax
jle 0x429084
mov esi, ebp
jmp 0x429047
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.004197e0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov eax, dword [esp + 0x84]
add eax, 1
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x14]
jl 0x429040
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x68], 2
jne 0x428f4e
mov ebx, 0x200
mov esi, ebp
test dword [esi + 0x18], ebx
je 0x428f50
mov eax, esi
call fcn.00424b30
or eax, 0xffffffff
mov ecx, esi
call fcn.00437950
or dword [esi + 0x18], ebx
mov edi, dword [esp + 0x78]
jmp 0x428f50
cmp dword [esp + 0x30], 0
mov edx, dword [edi + 8]
mov dword [esi + 0x1e8], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0x1ec], eax
jne case.default.0x426fe1
mov eax, ebp
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
push ecx
push edx
push eax
call fcn.00457440
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
test eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x6c], ebp
je 0x429155
cmp byte [ecx + 0x34], 0
jne 0x429155
test ebp, ebp
mov dword [esp + 0x70], 1
jne 0x42915d
cmp dword [ecx + 0x84], ebp
jle 0x42915d
mov edi, dword [esp + 0x20]
push str.cannot_commit_transaction___SQL_statements_in_progress
add edi, 0x34
mov eax, ecx
call fcn.004070e0
add esp, 4
mov dword [esp + 0x14], 5
jmp case.default.0x426fe1
mov dword [esp + 0x70], 0
movzx ecx, byte [ecx + 0x34]
cmp eax, ecx
jne 0x42bf3b
test eax, eax
jne 0x429174
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x429182
test ebp, ebp
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x429182
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
add edi, 0x34
call fcn.004070e0
add esp, 4
mov dword [esp + 0x14], 1
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
test eax, eax
mov dword [esp + 0x68], eax
je case.default.0x426fe1
mov edx, dword [ebp + 8]
push edx
call fcn.00418440
add esp, 4
cmp eax, 5
mov dword [esp + 0x14], eax
je 0x42bfbe
test eax, eax
jne 0x42bfea
cmp dword [ebp + 8], eax
je case.default.0x426fe1
mov edi, dword [esp + 0x20]
cmp byte [edi + 0x63], al
je case.default.0x426fe1
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x34], al
je 0x42920d
cmp dword [esi + 0x80], 1
jle case.default.0x426fe1
cmp dword [edi + 0x74], 0
jne 0x42922b
add dword [esi + 0x1e4], 1
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e0]
add ecx, eax
mov dword [edi + 0x74], ecx
mov edx, dword [edi + 0x74]
sub edx, 1
push edx
push 0
push esi
call fcn.00457440
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne 0x429259
mov eax, dword [edi + 0x74]
push eax
mov eax, dword [esp + 0x6c]
call fcn.00419790
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 0x1e8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1ec]
mov dword [edi + 0x9c], edx
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], ebp
push ecx
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebp
call fcn.0041dff0
mov eax, dword [esp + 0x70]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
call fcn.00420c60
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x68]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 4]
push edx
call fcn.0041e050
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x42930a
mov ecx, dword [esp + 0x68]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x18]
or dword [eax + 0x18], 0x200
jmp 0x42931c
cmp eax, 2
jne 0x42931c
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0xc]
mov al, byte [esi + 0x10]
mov byte [edx + 0x4c], al
cmp dword [ebp + 4], 1
jne case.default.0x426fe1
mov eax, dword [esp + 0x18]
call fcn.00424b30
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x5f], 0
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
test eax, eax
mov dword [esp + 0x70], eax
je 0x42937a
lea edx, [esp + 0x68]
push edx
push 1
call fcn.0041dff0
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
add esp, 8
shl eax, 4
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax + 4]
jmp 0x429384
mov dword [esp + 0x68], 0
xor eax, eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
cmp ecx, dword [ebp + 8]
jne 0x42939a
cmp eax, dword [ebp + 0xc]
je case.default.0x426fe1
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x34]
mov ecx, edi
call fcn.00406d00
push edi
mov ebx, str.database_schema_has_changed
call fcn.00407060
mov dword [esi + 0x34], eax
mov ebp, dword [ebp + 4]
mov eax, dword [edi + 0x10]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx]
add esp, 4
cmp edx, dword [esp + 0x68]
je 0x4293d9
mov eax, ebp
mov ecx, edi
call fcn.00437950
mov byte [esi + 0x5f], 1
mov dword [esp + 0x14], 0x11
jmp case.default.0x426fe1
cmp byte [esi + 0x5f], 0
je 0x4293fd
mov dword [esp + 0x14], 4
jmp case.default.0x426fe1
mov ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [esp + 0x84], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x7c], ebx
cmp byte [ebp], 0x28
jne 0x42944b
mov dword [esp + 0x78], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x61]
jae 0x429453
mov byte [esi + 0x61], al
jmp 0x429453
mov dword [esp + 0x78], 0
cmp byte [ebp + 3], 0
je 0x429478
lea ecx, [edx + edx*4]
lea esi, [edi + ecx*8]
call fcn.00420c60
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x70], esi
jl 0x42bfd2
mov ecx, dword [esp + 0x68]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x4294a5
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov dword [esp + 0x6c], eax
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x6c]
movzx ecx, word [eax + 6]
add ecx, 1
jmp 0x4294ac
cmp al, 0xf2
jne 0x4294b0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [ebp + 4]
push 1
push edx
push ecx
push eax
mov eax, dword [esp + 0x30]
call fcn.00426c40
add esp, 0x10
test eax, eax
mov dword [esp + 0x80], eax
je 0x427333
mov byte [eax + 0x1c], 1
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x20], 1
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
mov eax, dword [esp + 0x8c]
call fcn.00419900
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x7c]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x90]
add esp, 0x10
cmp byte [ebp + 1], 0xfa
mov dword [esp + 0x14], eax
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [esp + 0x80]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.00426c40
add esp, 0x10
test eax, eax
mov dword [esp + 0x68], eax
je 0x427333
mov byte [eax + 0x1c], 1
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x68]
push 0x41e
or edx, 5
push edx
push eax
mov eax, dword [eax]
add ecx, 4
push eax
xor edx, edx
call fcn.00417350
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42965b
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 4]
push 1
call fcn.00418440
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42965b
cmp dword [ebp + 0x10], eax
je 0x429637
movzx edx, byte [ebp + 3]
mov ecx, dword [esp + 0x68]
or edx, 2
push edx
lea eax, [esp + 0x58]
push eax
mov eax, dword [ecx + 4]
call fcn.0041d9a0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42962d
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x58]
push ecx
push 1
push edx
call fcn.00419900
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
add esp, 0x10
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1e], 0
jmp 0x42965b
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push 1
push 1
call fcn.00419900
mov edx, dword [esp + 0x78]
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [edx + 0x1e], 1
cmp byte [ebp + 3], 8
mov ecx, dword [esp + 0x68]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.00426c40
add esp, 0x10
test eax, eax
mov dword [esp + 0x68], eax
je 0x427333
mov edx, dword [ebp + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x18]
mov byte [ecx + 0x21], 1
mov eax, dword [esp + 0x68]
push edx
call fcn.0042d2b0
add esp, 4
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.00426c40
add esp, 0x10
test eax, eax
mov dword [esp + 0x68], eax
je 0x427333
mov byte [eax + 0x1c], 1
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1f], 0
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov ebx, esi
call fcn.00423020
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov dword [eax + edx*4], 0
jmp case.default.0x426fe1
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je 0x426ffa
movzx ecx, byte [ebp]
mov dword [esp + 0x6c], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1e], 0
je 0x429924
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.00426d00
mov ecx, esi
call fcn.00420b40
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4298bd
test al, 8
jne 0x4297c0
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
xor ebx, ebx
cmp dword [esp + 0x98], ebx
jne 0x42986b
mov eax, SysReAllocString
cmp dword [esp + 0x9c], eax
jne 0x42986b
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x60]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x429803
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x42986b
fldz
mov dword [esp + 0x68], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x42982f
cmp dword [esp + 0x6c], 0x30
jl 0x42985c
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
lea edi, [esp + 0x68]
call fcn.0041a5a0
jmp 0x429845
cmp dword [esp + 0x6c], 0x2f
jg 0x42985c
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
lea edi, [esp + 0x68]
call fcn.0041a5d0
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x42bfea
cmp dword [esp + 0x68], 0
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [esp + 0x6c]
cmp eax, 0x2e
je 0x42989d
cmp eax, 0x30
je 0x42989d
fild qword [esp + 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4298bd
or eax, 0xffffffff
add dword [esp + 0x98], eax
adc dword [esp + 0x9c], eax
jmp 0x4298bd
fild qword [esp + 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4298bd
add dword [esp + 0x98], 1
adc dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x74]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.0041a610
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
cmp dword [esp + 0x68], eax
jne 0x429996
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 1
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x44], edx
jmp 0x429996
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x90], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov al, byte [esp + 0x6c]
and al, 1
mov word [esp + 0x7c], dx
mov byte [esp + 0x7e], al
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x88], eax
test word [eax + 0x1c], 0x4000
je 0x429965
call fcn.00420860
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x68]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x88]
push edx
push eax
call fcn.0041a610
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], al
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
xor esi, esi
mov dword [eax + 0x50], esi
mov ecx, dword [esp + 0x6c]
cmp ecx, 0x30
mov eax, dword [esp + 0x68]
jl 0x4299f5
cmp eax, esi
jl 0x4299c8
jne 0x4299bf
cmp ecx, 0x31
je 0x4299c8
mov dword [esp + 0x68], esi
jmp case.default.0x426fe1
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
lea ecx, [esp + 0x68]
push ecx
push eax
call fcn.0041aa20
add esp, 8
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x42bfea
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
jmp 0x429851
cmp eax, esi
jg 0x429a18
jne 0x429a00
cmp ecx, 0x2e
je 0x429a18
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [esp + 0x68], ecx
jmp 0x429851
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
lea edx, [esp + 0x68]
push edx
push ecx
call fcn.0041ab80
add esp, 8
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x42bfea
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 0
jmp 0x429851
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je case.default.0x426fe1
mov byte [eax + 0x1c], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ecx, [edi + edx*8]
call fcn.00420b40
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 1
jmp case.default.0x426fe1
mov ecx, dword [esi + 0x40]
xor edx, edx
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x6c], eax
cmp dword [eax], edx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [edi + ecx*8]
je 0x429b97
cmp dword [ebp + 0x10], edx
jle 0x429aec
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
mov cx, word [ebp + 0x10]
lea edx, [esp + 0x80]
mov word [esp + 0x84], cx
mov dword [esp + 0x90], esi
mov byte [esp + 0x86], 2
mov dword [esp + 0x78], edx
jmp 0x429b3b
mov edi, dword [eax + 8]
push 0x97
lea ebx, [esp + 0x78]
lea edx, [esp + 0x9c]
call fcn.004245e0
add esp, 4
test eax, eax
mov dword [esp + 0x78], eax
je 0x427333
mov ecx, dword [esi + 0x18]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.00424630
mov eax, dword [esp + 0x88]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
lea ecx, [esp + 0x70]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.0041a610
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x429b6f
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
call fcn.00406d00
test esi, esi
jne case.default.0x426fe1
mov edx, dword [esp + 0x6c]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
sete cl
mov dword [esp + 0x68], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], esi
mov edx, dword [esp + 0x68]
cmp byte [ebp], 0x34
jne 0x429ba4
test edx, edx
jmp 0x429856
test edx, edx
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x78], eax
lea ebx, [edi + ecx*8]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x6c], eax
xor esi, esi
mov dword [eax + 0x4c], esi
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x50], esi
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x70], ecx
mov eax, dword [edx + 8]
mov cx, word [eax + 6]
xor ax, ax
cmp cx, si
mov word [esp + 0x74], cx
mov word [esp + 0x68], ax
jbe 0x429c30
movzx esi, ax
lea esi, [esi + esi*4]
test byte [edi + esi*8 + 0x1c], 1
jne 0x429cec
add ax, 1
cmp ax, cx
mov word [esp + 0x68], ax
jb 0x429c11
cmp dword [esp + 0x70], 0
je case.default.0x426fe1
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x74]
add edx, 1
mov esi, ebx
mov dword [esp + 0x80], ecx
mov word [esp + 0x84], dx
mov byte [esp + 0x86], 4
mov dword [esp + 0x90], edi
call fcn.00420c60
mov edx, dword [esp + 0x6c]
mov eax, dword [ebx + 0x10]
add edx, 0x4c
push edx
push 0
mov dword [esp + 0xa0], eax
mov ecx, dword [ebx + 0x14]
push 0
push 0
lea eax, [esp + 0x90]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x80]
push eax
push ecx
call fcn.0041a610
add esp, 0x18
test byte [esp + 0x86], 4
mov dword [esp + 0x14], eax
jne 0x426ffa
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x98]
jne 0x429cda
mov edx, dword [esp + 0x8c]
cmp edx, dword [esp + 0x9c]
je 0x426ffa
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x70], 0
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x40]
lea edi, [edi + ecx*8]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x68], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x6c], eax
je 0x429db7
xor esi, esi
mov dword [esp + 0x70], esi
mov ecx, dword [edi + 0x10]
lea ebx, [esp + 0x70]
push ebx
push esi
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 0x14]
push edx
push ecx
push esi
push eax
mov dword [esp + 0x94], edx
call fcn.0041a610
mov edx, dword [esp + 0x80]
mov ecx, dword [edi + 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x80]
add esp, 0x18
cmp dword [esp + 0x70], esi
sete dl
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x1c], 0
mov edx, dword [esp + 0x68]
mov dword [edx + 0x50], esi
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x429dab
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x4c], eax
jmp case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov dword [ecx + 0x4c], 0
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x30]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 0x34]
mov dword [ebx + 0x14], edx
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x426fe1
mov eax, dword [esi + 0x40]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x70], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x42a09d
cmp byte [edx + 0x1b], cl
jne 0x429fa5
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 0x24]
mov ebx, ecx
or ebx, eax
mov dword [esp + 0x6c], eax
jne 0x429eb7
mov esi, dword [edx]
lea edi, [esp + 0x74]
call fcn.0041a5d0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
cmp dword [esp + 0x74], eax
je 0x429e62
mov ecx, 1
jmp 0x429ea7
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
lea ecx, [esp + 0x68]
push ecx
call fcn.00419a70
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
add esp, 4
cmp eax, 0x7fffffff
jl 0x429ea1
jg 0x429e8f
cmp ecx, 0xffffffff
jb 0x429ea1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1b], 1
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
jmp 0x429eaf
add ecx, 1
adc eax, 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x429f6d
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x429eff
mov ecx, esi
mov dword [esp + 0x80], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x429ef0
lea esp, [esp]
mov ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x429ee0
mov ebp, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x429f05
lea ecx, [edx + edx*4]
lea esi, [edi + ecx*8]
mov dword [esp + 0x7c], esi
call fcn.00420c60
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x429f2c
cmp ecx, 0x7fffffff
je 0x42bfe2
mov esi, dword [esp + 0x70]
cmp byte [esi + 0x1b], 0
jne 0x42bfe2
mov esi, dword [esp + 0x6c]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x429f58
jl 0x429f50
cmp dword [esp + 0x68], eax
jae 0x429f58
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x68]
mov dword [edx], eax
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp eax, 0x7fffffff
jg 0x429f83
jl 0x429f7b
cmp ecx, 0xffffffff
jae 0x429f83
add ecx, 1
adc eax, 0
jmp 0x429f87
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
push eax
push ecx
call fcn.00419950
mov edx, dword [esp + 0x78]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x42a082
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x74]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x88], 0
mov eax, dword [edx]
push 0
push eax
call fcn.0041a610
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42a07e
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x42a06f
mov eax, dword [esp + 0x78]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x78], eax
jge 0x42a06f
lea ecx, [esp + 0x68]
push ecx
push 8
call fcn.00408670
mov eax, dword [esp + 0x70]
add esp, 8
cmp dword [esp + 0x78], 5
jge 0x42a030
and eax, 0xffffff
xor ecx, ecx
jmp 0x42a03a
mov ecx, dword [esp + 0x6c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x74]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.0041a610
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
je 0x429fed
jmp 0x42a07e
cmp dword [esp + 0x14], 0
jne 0x42a07e
test ecx, ecx
je 0x42bfe2
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x24]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x68]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x6c]
mov dword [ebx + 0x14], edx
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x68], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x78], edx
cmp byte [ebp], 0x39
mov eax, dword [ebp + 0xc]
jne 0x42a0e9
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x6c], edi
mov eax, dword [edi + 0x10]
mov dword [esp + 0x70], eax
mov edx, dword [edi + 0x14]
jmp 0x42a0ee
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
test byte [ebp + 3], 1
je 0x42a0fc
add dword [esi + 0x68], 1
test byte [ebp + 3], 2
je 0x42a11c
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x20], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x24], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x42a132
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x68]
test byte [ebp + 3], 0x10
je 0x42a148
mov edx, dword [esp + 0x78]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x80], edx
jmp 0x42a14f
mov dword [esp + 0x80], eax
test word [ecx + 0x1c], 0x4000
je 0x42a15a
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.00419950
movzx eax, byte [ebp + 3]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push edx
and eax, 8
push eax
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x94]
mov esi, dword [eax]
push ecx
push edx
push 0
call fcn.0041d260
mov ecx, dword [esp + 0xa0]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0xa0]
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0xa0]
add esp, 0x28
test eax, eax
mov dword [esp + 0x14], eax
mov dword [ecx + 0x50], 0
jne case.default.0x426fe1
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xb8], 0
je case.default.0x426fe1
cmp dword [ebp + 0x10], 0
je case.default.0x426fe1
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0xc]
mov edx, dword [eax + 0x10]
mov edi, dword [esp + 0x74]
shl ecx, 4
mov ecx, dword [ecx + edx]
mov dword [esp + 0x84], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x88], esi
mov dl, byte [ebp + 3]
and dl, 4
neg dl
push edi
mov edi, dword [esp + 0x74]
push edi
push esi
push ecx
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [esp + 0x9c], edx
mov ecx, dword [eax + 0xb4]
push edx
mov edx, dword [eax + 0xb8]
push ecx
call edx
add esp, 0x18
jmp case.default.0x426fe1
mov edx, dword [esi + 0x40]
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], esi
cmp dword [ecx + 0xb8], eax
je 0x42a291
cmp dword [ebp + 0x10], eax
je 0x42a291
mov edx, dword [esi + 0x40]
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x44]
mov dword [esp + 0x6c], eax
call fcn.00424170
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
push eax
push eax
call fcn.00419950
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
add esp, 8
call fcn.0041d470
test eax, eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov dword [ecx + 0x50], 0
jne 0x42a30f
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x42a30f
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42a30f
mov esi, dword [esp + 0x6c]
push esi
mov esi, dword [esp + 0x6c]
push esi
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0xc]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.default.0x426fe1
mov eax, dword [esp + 0x20]
add dword [eax + 0x68], 1
jmp case.default.0x426fe1
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
mov dword [esi + 0x68], 0
jmp case.default.0x426fe1
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [edi + ecx*8]
lea ebx, [esp + 0x6c]
call fcn.0042dc70
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x14], eax
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ecx, [edi + edx*8]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x68], eax
call fcn.0042dc00
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x40]
mov esi, dword [ecx + edx*4]
mov dword [esp + 0x68], esi
mov edx, dword [esi]
mov dword [esp + 0x6c], edx
call fcn.00424170
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x1f], 0
mov esi, dword [esp + 0x6c]
je 0x42a425
lea ecx, [esp + 0x78]
push ecx
call fcn.00419a70
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x4c]
mov ecx, dword [esp + 0x80]
cdq
add esp, 4
cmp ecx, edx
jg 0x427a47
mov ecx, dword [esp + 0x78]
jl 0x42a41d
cmp ecx, eax
ja 0x427a47
mov eax, ecx
mov dword [esp + 0x70], eax
jmp 0x42a443
lea edx, [esp + 0x70]
push edx
call fcn.00419ae0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp eax, dword [ecx + 0x4c]
ja 0x427a47
mov edi, dword [esp + 0x24]
push 0
call fcn.00420700
add esp, 4
test eax, eax
jne 0x427333
mov edx, dword [esp + 0x70]
mov esi, edi
mov ax, word [esi + 0x1c]
and ax, 0xbf10
or ax, 0x10
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x1f], 0
mov edx, dword [esp + 0x70]
je 0x42a4a3
mov eax, dword [esi + 4]
push 0
push eax
mov eax, dword [esp + 0x74]
push edx
push 0
push eax
call fcn.00419e20
add esp, 0x14
mov dword [esp + 0x14], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x426fe1
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x6c]
push ecx
push edx
push 0
push eax
call fcn.0041a160
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x426fe1
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x68], eax
cmp byte [eax + 0x1c], 0
je 0x42a4e2
mov word [ebx + 0x1c], 1
jmp case.default.0x426fe1
cmp byte [eax + 0x1d], 0
je 0x42a507
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x74], edx
mov edx, ecx
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
cmp dword [eax + 0x24], 0
je 0x42a558
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x7c], ecx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x70]
push edx
push eax
call ecx
mov edx, dword [esp + 0x80]
push edx
push esi
mov dword [esp + 0x24], eax
call fcn.00426e10
mov edx, dword [esp + 0x80]
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x84]
add esp, 0x10
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
mov esi, eax
call fcn.00424170
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x19], 0
je 0x42a594
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x74], edx
mov edx, ecx
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
mov esi, dword [eax]
lea ecx, [esp + 0x70]
push ecx
call fcn.00419a70
mov edx, dword [esp + 0x74]
mov dword [esp + 0x18], eax
mov dword [ebx + 0x10], edx
mov eax, dword [esp + 0x78]
add esp, 4
mov dword [ebx + 0x14], eax
jmp case.default.0x426fe1
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x68], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx]
test esi, esi
je case.default.0x426fe1
call fcn.00415fa0
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x68], eax
mov esi, dword [eax]
test esi, esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0
je 0x42a61b
lea edi, [esp + 0x70]
call fcn.0041a5d0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x70]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x50], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.default.0x426fe1
cmp dword [esp + 0x70], 0
je case.default.0x426fe1
add ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
add dword [esi + 0x7c], 1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 1
cmp dword [eax + 0x48], 0
je 0x42a697
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x70]
push ecx
push eax
push edx
call fcn.0042d8a0
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x42a6d6
mov eax, dword [eax]
lea edi, [esp + 0x70]
mov esi, eax
mov dword [esp + 0x6c], eax
call fcn.0041a5a0
cmp dword [esp + 0x70], 0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x68]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x19], 0
mov dl, byte [esp + 0x70]
mov eax, dword [esp + 0x68]
mov byte [eax + 0x1c], dl
cmp dword [esp + 0x70], 0
je case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x42c055
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [esp + 0x68], eax
je case.default.0x426fe1
cmp dword [eax + 0x48], edx
je 0x42a740
lea edx, [esp + 0x6c]
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.0042db40
add esp, 0xc
jmp 0x42a758
mov dword [esp + 0x6c], 1
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x6c]
push ecx
push edx
call eax
add esp, 8
mov ecx, dword [esp + 0x68]
mov dl, byte [esp + 0x6c]
mov byte [ecx + 0x1c], dl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x50], 0
cmp dword [esp + 0x6c], 0
jne 0x42a796
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x1c], eax
mov al, byte [ebp + 3]
test al, al
je 0x42a796
movzx ecx, al
add dword [esi + ecx*4 + 0x74], 1
lea eax, [esi + ecx*4 + 0x74]
mov edx, dword [esp + 0x68]
mov byte [edx + 0x19], 0
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ecx]
test esi, esi
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x6c], esi
je case.default.0x426fe1
test word [edi + 0x1c], 0x4000
je 0x42a7ea
mov eax, edi
call fcn.00420860
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
cmp dword [ecx + 0x48], 0
je 0x42a808
mov eax, dword [esp + 0x18]
push edi
push ecx
push eax
call fcn.0042d730
add esp, 0xc
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, dword [edi + 0x18]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x74], edi
test byte [ebp + 3], 0x10
je 0x42a821
mov ecx, dword [ecx + 0x4c]
jmp 0x42a823
xor ecx, ecx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
cdq
push 0x47403c
push edx
push eax
push edi
call fcn.0041d260
mov edx, dword [esp + 0x88]
add esp, 0x20
mov dword [esp + 0x14], eax
mov dword [edx + 0x50], 0
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x6c], ecx
je case.default.0x426fe1
mov edx, dword [eax + 8]
mov dword [esp + 0x78], edx
mov ax, word [ebp + 0xc]
mov word [esp + 0x7c], ax
mov byte [esp + 0x7e], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x70]
push edx
push 0
push 0
mov dword [esp + 0x94], eax
push 0
lea eax, [esp + 0x88]
push eax
push ecx
call fcn.0041a610
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42a8cc
cmp dword [esp + 0x70], eax
jne 0x42a8cc
mov esi, dword [esp + 0x6c]
call fcn.0041d470
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x50], 0
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov word [ebx + 0x1c], 1
cmp dword [esp + 0x68], 0
je case.default.0x426fe1
mov esi, dword [esp + 0x6c]
call fcn.00424170
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov edx, dword [esp + 0x6c]
cmp byte [edx + 0x1c], al
jne case.default.0x426fe1
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x6c]
call fcn.004248e0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42bfea
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [ebx + 0x14], edx
mov word [ebx + 0x1c], 4
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x40]
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x68], edi
cmp dword [edi], 0
je case.default.0x426fe1
mov edx, dword [edi + 8]
mov dword [esp + 0x70], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x74], ax
cmp byte [ebp + 3], 0
setne cl
add cl, 2
mov byte [esp + 0x76], cl
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + edx*8]
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x88], ecx
call fcn.00424a40
add esp, 8
cmp byte [ebp], 0x64
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
jne 0x42a9c4
neg eax
jmp 0x42a9c7
add eax, 1
test eax, eax
mov dword [esp + 0x6c], eax
jle case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x70], eax
mov edx, 1
je 0x42aa23
mov ecx, 0xbdf20da3
cmp dword [eax + 0x30], ecx
jne 0x42aa18
cmp byte [eax + 0x62], 2
jae 0x42aa18
cmp dword [eax + 0x54], 0
jl 0x42aa18
add dword [esp + 0x6c], edx
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x70], eax
jne 0x42aa03
mov word [ebx + 0x1c], dx
cmp dword [esp + 0x6c], edx
jle 0x42aa3e
mov dword [esp + 0x14], 6
mov byte [esi + 0x5c], 2
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0041dfa0
mov ecx, eax
mov word [ebx + 0x1c], 4
mov eax, dword [esp + 0x70]
cdq
add esp, 8
test ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jne case.default.0x426fe1
mov esi, dword [esp + 0x68]
test esi, esi
je case.default.0x426fe1
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
call fcn.004397b0
mov al, byte [esp + 0x74]
add al, 1
mov byte [esp + 0x37], al
jmp case.default.0x426fe1
mov dword [esp + 0x68], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 4]
neg edx
sbb edx, edx
lea eax, [esp + 0x68]
and edx, eax
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov esi, dword [ecx + eax + 4]
call fcn.0041db80
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x14], eax
je case.default.0x426fe1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
add dword [ecx + 0x68], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.default.0x426fe1
lea ecx, [ebp + ebp*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
lea ecx, [edi + ecx*8 + 0x10]
adc dword [ecx + 4], edx
jmp case.default.0x426fe1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [esp + 0x70], eax
cmp byte [ebp], 0x69
setne cl
add ecx, 1
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x6c]
push ecx
call fcn.0041d9a0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
cmp eax, 1
mov dword [esp + 0x68], eax
mov ecx, str.sqlite_temp_master
je 0x42ab7d
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x20]
add edx, 0x34
mov dword [esp + 0x78], edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.004082f0
add esp, 0x10
test eax, eax
mov dword [esp + 0x70], eax
jne 0x42abc9
mov dword [esp + 0x14], 7
jmp 0x42ac1c
push 0
lea eax, [esp + 0x78]
push eax
mov byte [esi + 0x7d], 1
mov ecx, dword [esp + 0x78]
push fcn.004490b0
push ecx
push esi
mov dword [esp + 0x94], 0
call fcn.004462a0
mov edi, eax
add esp, 0x14
test edi, edi
mov dword [esp + 0x14], edi
jne 0x42ac09
mov edx, dword [esp + 0x80]
mov dword [esp + 0x14], edx
mov edi, edx
mov eax, dword [esp + 0x70]
mov ecx, esi
call fcn.00406d00
test edi, edi
mov byte [esi + 0x7d], 0
je 0x42ac26
or eax, 0xffffffff
mov ecx, esi
call fcn.00437950
cmp dword [esp + 0x14], 7
je 0x427333
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
call fcn.00436240
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
call fcn.00437ca0
add esp, 4
jmp case.default.0x426fe1
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00437880
add esp, 4
jmp case.default.0x426fe1
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
call fcn.004531e0
add esp, 4
jmp case.default.0x426fe1
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x18]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x68], eax
call fcn.00406f20
test eax, eax
mov dword [esp + 0x6c], eax
je 0x427333
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x70], ecx
jle 0x42ad0b
lea esp, [esp]
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00420b40
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x70]
add ecx, 1
cmp ecx, dword [esp + 0x68]
mov dword [esp + 0x70], ecx
jl 0x42ace0
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x6c]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 0x10]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.0041ee00
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
add esp, 0xc
mov ecx, edi
call fcn.00406d00
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cdq
add ecx, 0x10
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.00420d50
cmp dword [esp + 0x74], 0
je 0x42ad91
mov eax, dword [esp + 0x78]
test eax, eax
je 0x427333
push 1
push 0xffffffffffffffff
push eax
mov eax, fcn.00406c60
mov ecx, esi
call fcn.004210c0
add esp, 0xc
movzx ecx, byte [esp + 0x28]
mov eax, esi
call fcn.004206e0
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
mov bl, 0x20
test byte [esi + 0x1c], bl
lea edx, [ebp + ebp*4]
lea ebp, [edi + edx*8]
jne 0x42adcc
mov edi, esi
call fcn.00420ee0
test byte [esi + 0x1c], bl
je 0x427333
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.0040e4b0
add esp, 8
jmp case.default.0x426fe1
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x42c055
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 0x20
lea ebx, [edi + ecx*8]
je 0x42ae37
mov eax, dword [ebx + 0x10]
lea esi, [esp + 0x68]
call fcn.0040e810
test eax, eax
je 0x42ae37
mov edx, dword [esp + 0x6c]
mov ebp, dword [ebp + 0xc]
mov eax, dword [esp + 0x68]
push edx
lea ecx, [ebp + ebp*4]
push eax
lea esi, [edi + ecx*8]
call fcn.00420de0
add esp, 8
jmp case.default.0x426fe1
mov esi, ebx
call fcn.00420d50
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [ebp + 0x10]
lea esi, [edi + edx*8]
mov dword [esp + 0x68], eax
test byte [esi + 0x1c], 0x20
mov dword [esp + 0x30], ebx
jne 0x42ae85
mov edi, esi
call fcn.00420ee0
test byte [esi + 0x1c], 0x20
je 0x427333
mov eax, dword [esp + 0x68]
test eax, eax
je 0x42aed1
jl 0x42ae90
and eax, 0xf
jmp 0x42ae95
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov bl, al
mov eax, dword [esi + 0x10]
push edx
call fcn.0040e890
add esp, 8
test eax, eax
mov dword [esp + 0x6c], eax
je 0x42aec1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [esp + 0x68]
test eax, eax
mov ebx, dword [esp + 0x30]
jl case.default.0x426fe1
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.0040e4b0
add esp, 8
jmp case.default.0x426fe1
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x80], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x70], edi
cmp byte [ebp + 3], 0
je 0x42af34
mov eax, dword [esi + 0xa8]
test eax, eax
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], eax
je 0x42af34
mov edi, edi
cmp dword [eax + 0x18], edx
je case.default.0x426fe1
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x7c], eax
jne 0x42af20
mov eax, dword [esi + 0xb0]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 0x74]
jl 0x42af66
mov edi, dword [esp + 0x20]
push str.too_many_levels_of_trigger_recursion
add edi, 0x34
mov eax, edx
mov dword [esp + 0x18], 1
call fcn.004070e0
add esp, 4
jmp case.default.0x426fe1
mov ebx, 0x40
test byte [edi + 0x1c], bl
jne 0x42b0d3
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [esp + 0x68], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], edi
call fcn.00406f00
test eax, eax
mov dword [esp + 0x7c], eax
je 0x427333
mov edx, dword [esp + 0x70]
push edx
call fcn.00420aa0
mov eax, dword [esp + 0x74]
mov word [eax + 0x1c], bx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
mov dword [edx + 0x3c], ecx
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x80]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x14], ecx
mov cx, word [eax + 0x2e]
mov edx, dword [esp + 0x80]
mov word [edx + 0x28], cx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xc0]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xbc]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x3c]
lea edx, [edx + edx*4]
lea esi, [ecx + edx*8 + 0x48]
lea edx, [ecx + 0x48]
add esp, 4
cmp edx, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edx
je 0x42b0de
mov ecx, dword [esp + 0x18]
nop
mov word [edx + 0x1c], 0x80
mov edx, dword [esp + 0x74]
mov dword [edx], ecx
mov edx, dword [esp + 0x74]
add edx, 0x28
cmp edx, dword [esp + 0x78]
mov dword [esp + 0x74], edx
jne 0x42b0b0
mov ecx, dword [esp + 0x7c]
jmp 0x42b0de
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], ecx
add dword [eax + 0xb0], 1
mov edx, dword [eax + 0xa8]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0x20], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + 0x20]
mov dword [eax + 0xa8], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x40]
mov word [eax + 0x2e], cx
mov ecx, esi
add ecx, 1
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x40], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [esp + 0x48], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
movzx esi, word [eax + 0x2e]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xc0], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xbc], edx
mov dword [esp + 0x28], 0xffffffff
call sub.MSVCR80.dll_memset
add esp, 0xc
jmp case.default.0x426fe1
mov esi, dword [esi + 0xa8]
mov dword [esp + 0x68], esi
mov eax, dword [esi + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
mov edx, dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x74], eax
call fcn.00420fc0
add esp, 8
jmp case.default.0x426fe1
cmp dword [ebp + 4], 0
mov eax, dword [ebp + 8]
cdq
je 0x42b1e3
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp case.default.0x426fe1
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
jmp case.default.0x426fe1
cmp dword [ebp + 4], 0
je 0x42b21f
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1e8]
or ecx, dword [eax + 0x1ec]
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov edx, dword [esi + 0x90]
or edx, dword [esi + 0x94]
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x42b272
mov ecx, esi
mov dword [esp + 0x6c], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x42b264
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x42b257
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x42b27b
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x68], esi
call fcn.00420c60
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea esi, [edi + eax*8]
call fcn.00420c60
mov eax, dword [esp + 0x68]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.default.0x426fe1
jl 0x42b2b7
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x426fe1
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jl case.default.0x426fe1
jg 0x42b2df
cmp dword [edi + eax*8 + 0x10], 0
jbe case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jg case.default.0x426fe1
jl 0x42b30c
cmp dword [edi + eax*8 + 0x10], 0
jae case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
movzx ecx, byte [ebp + 3]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0x6c], eax
jle 0x42b3a1
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x74]
call fcn.00426c10
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
add eax, 1
add edi, 0x28
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edi
jl 0x42b372
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x78], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor edi, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0xa8], eax
mov ecx, 1
add dword [eax + 0x18], ecx
mov eax, dword [esp + 0x78]
mov word [esp + 0x9c], cx
mov dword [esp + 0x84], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb4], edi
test byte [eax + 3], 8
je 0x42b41b
mov edx, dword [ebp - 4]
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x68]
push ecx
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x80]
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0xb0], edi
je 0x42b473
mov bl, 1
lea edi, [esp + 0x80]
call fcn.00421620
mov edi, dword [esp + 0x20]
push eax
push 0x4740c0
add edi, 0x34
mov eax, esi
call fcn.004070e0
mov eax, dword [esp + 0xb8]
add esp, 8
mov dword [esp + 0x14], eax
xor edi, edi
cmp dword [esp + 0xb4], edi
je 0x42b49e
mov ebp, dword [ebp - 0x10]
cmp ebp, edi
mov dword [esp + 0x6c], ebp
je 0x42b49e
mov edx, dword [esp + 0x2c]
lea ecx, [ebp + ebp*4]
push 0
push 1
lea esi, [edx + ecx*8]
call fcn.00420de0
add esp, 8
lea eax, [esp + 0x80]
push eax
call fcn.00420aa0
add esp, 4
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 0x10]
call fcn.004209c0
test eax, eax
mov dword [esp + 0x14], eax
je 0x42b4f4
mov edi, dword [esp + 0x68]
mov bl, 1
call fcn.00421620
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x4740c0
add edi, 0x34
call fcn.004070e0
add esp, 8
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x68]
call fcn.004206e0
mov ecx, dword [esp + 0x68]
call fcn.00420f90
test eax, eax
jne 0x427a47
jmp case.default.0x426fe1
or eax, 0xffffffff
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
xor esi, esi
mov dword [esp + 0x6c], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x74]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
lea eax, [esp + 0x80]
call fcn.00462790
add esp, 0x10
cmp eax, 5
mov dword [esp + 0x14], eax
jne 0x42b55f
mov dword [esp + 0x14], esi
mov dword [esp + 0x6c], 1
xor eax, eax
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x78], edi
mov eax, dword [esp + eax*4 + 0x6c]
cdq
push edx
push eax
mov esi, edi
call fcn.00420de0
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x80]
add eax, 1
add edi, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], edi
jl 0x42b573
jmp case.default.0x426fe1
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
shl eax, 4
cmp edx, 0xffffffff
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x68], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
movzx ebx, byte [esi + 5]
mov dword [esp + 0x74], ebx
jne 0x42b5df
mov edx, ebx
mov dword [esp + 0x70], edx
cmp byte [esi + 0xf], 3
jae 0x42b5fb
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x42b601
cmp dword [esi + 0x4c], 0
jl 0x42b601
jg 0x42b5fb
cmp dword [esi + 0x48], 0
jbe 0x42b601
mov edx, ebx
mov dword [esp + 0x70], edx
cmp edx, 5
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x78], ecx
jne 0x42b63a
call fcn.00408d90
test eax, eax
je 0x42b624
mov eax, esi
call fcn.00413080
test eax, eax
jne 0x42b63a
mov edx, ebx
mov dword [esp + 0x70], edx
cmp dword [esp + 0x14], 0
je 0x42b71d
jmp 0x42b717
cmp edx, ebx
je 0x42b62a
cmp ebx, 5
je 0x42b648
cmp edx, 5
jne 0x42b62a
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x34], 0
je 0x42b6da
cmp dword [eax + 0x80], 1
jg 0x42b6da
cmp ebx, 5
jne 0x42b685
mov eax, esi
call fcn.004131c0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x42b70f
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
jmp 0x42b691
cmp ebx, 4
jne 0x42b6a2
mov ecx, 2
mov eax, esi
call fcn.00412f20
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
cmp dword [esp + 0x14], 0
jne 0x42b717
xor eax, eax
cmp edx, 5
sete al
add eax, 1
push eax
mov eax, dword [esp + 0x6c]
call fcn.0041f3b0
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x42b62a
cmp edx, 5
mov dword [esp + 0x14], 1
mov eax, str.into
je 0x42b6f1
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add edi, 0x34
call fcn.004070e0
add esp, 8
jmp case.default.0x426fe1
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
mov edx, ebx
mov dword [esp + 0x70], edx
mov ecx, edx
mov eax, esi
call fcn.00412f20
mov dword [esp + 0x70], eax
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov word [edi + 0x1c], 0xa02
mov eax, dword [esp + 0x70]
cmp eax, 6
mov dword [esp + 0x24], edi
jne 0x42b74b
xor ecx, ecx
jmp 0x42b752
mov ecx, dword [eax*4 + 0x46f460]
mov dword [edi + 4], ecx
call fcn.00408d90
movzx ecx, byte [esp + 0x28]
mov dword [edi + 0x18], eax
mov eax, edi
mov byte [edi + 0x1f], 1
call fcn.004206e0
jmp case.default.0x426fe1
mov edx, dword [esp + 0x18]
push edx
lea eax, [esi + 0x34]
call fcn.004560e0
add esp, 4
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x68], eax
call fcn.00418ff0
cmp eax, 0x65
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], 0
jmp case.default.0x426fe1
cmp dword [ebp + 4], 0
jne 0x42b7dd
mov eax, dword [esp + 0x18]
call fcn.00424b30
jmp case.default.0x426fe1
mov byte [esi + 0x5f], 1
jmp case.default.0x426fe1
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x42b7fe
mov eax, dword [esp + 0x18]
test dword [eax + 0x18], 0x80000
jne case.default.0x426fe1
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0x10]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0041f2f0
add esp, 4
cmp al, 6
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x42b6f7
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], edi
call fcn.004573b0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
test eax, eax
je case.default.0x426fe1
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.00426e10
add esp, 8
jmp case.default.0x426fe1
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
add esi, 0x34
push esi
push eax
mov eax, dword [ebp + 4]
call fcn.00456ec0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.default.0x426fe1
mov byte [esi + 0x62], 2
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004571b0
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esi + 0x62], 0
jmp case.default.0x426fe1
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x78], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x78]
push ecx
mov edi, eax
push esi
mov dword [esp + 0x24], edi
call fcn.00426e10
add esp, 0x10
cmp edi, ebx
jne case.default.0x426fe1
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
push ebx
mov dword [eax], edx
mov ecx, dword [ebp + 4]
push 0xffffffffffffffff
push ebx
push ecx
mov eax, esi
call fcn.00426c40
add esp, 0x10
test eax, eax
mov dword [esp + 0x68], eax
je 0x42b92f
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov dword [eax + 0x28], edx
jmp case.default.0x426fe1
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x36], 1
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.default.0x426fe1
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x40]
lea edx, [eax + eax*4]
mov esi, dword [esi + 0xc]
lea edi, [edi + edx*8]
mov dword [esp + 0x74], edi
lea ebx, [edi + 0x28]
mov dword [esp + 0x78], ebx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x84], eax
mov edx, dword [eax + 0x24]
mov dword [esp + 0x7c], edx
mov eax, dword [edx]
mov dword [esp + 0x80], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x68], ecx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x6c], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], eax
jle 0x42ba08
jmp 0x42b9c4
mov ebx, dword [esp + 0x78]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [esp + 0x90]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + edx*4]
call fcn.00426c10
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x68]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x8c], eax
jl 0x42b9c0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov byte [esi + 0x62], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x7c]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov edi, eax
mov eax, dword [esp + 0x94]
add esp, 0x14
push eax
push esi
mov dword [esp + 0x1c], edi
mov byte [esi + 0x62], 0
call fcn.00426e10
add esp, 8
test edi, edi
jne 0x42ba66
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x88], eax
cmp dword [esp + 0x88], 0
je 0x42ba7a
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x84]
mov byte [ecx + 0x1c], 0
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x70], edi
cmp byte [ecx + 0x1c], 0
mov dword [esp + 0x30], ecx
je 0x42bab6
mov esi, edi
call fcn.00420d50
jmp case.default.0x426fe1
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
push 0x40
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push 0
push edx
mov dword [esp + 0x78], ecx
call sub.MSVCR80.dll_memset
mov ebx, dword [esp + 0x7c]
add esp, 0xc
lea eax, [esp + 0x80]
call fcn.00421070
mov eax, dword [esp + 0x9c]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x9c], ax
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x24]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
add esp, 0xc
push eax
push esi
call fcn.00426e10
mov eax, dword [esp + 0xb8]
add esp, 8
test eax, eax
je 0x42bb3b
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x80]
call fcn.004206e0
mov eax, dword [esp + 0x70]
lea ebx, [esp + 0x80]
call fcn.00421070
mov ecx, dword [esp + 0x70]
call fcn.00420f90
test eax, eax
jne 0x427a47
jmp case.default.0x426fe1
mov edx, dword [esi + 0x40]
mov dword [esp + 0x70], 0
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x74], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x426fe1
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
mov byte [esi + 0x62], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x6c]
add esp, 4
push ecx
mov edi, eax
push esi
mov dword [esp + 0x1c], edi
mov byte [esi + 0x62], 0
call fcn.00426e10
add esp, 8
test edi, edi
jne 0x42bbe4
mov edx, dword [esp + 0x74]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
jne case.default.0x426fe1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x1c], ebp
jmp case.default.0x426fe1
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
mov ecx, 1
mov dword [esp + 0x6c], eax
call fcn.004206e0
test eax, eax
mov dword [esp + 0x14], eax
jne case.default.0x426fe1
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [esp + 0x70]
push ecx
push esi
mov dword [esp + 0x24], eax
call fcn.00426e10
add esp, 0x10
mov byte [esi + 0x5f], 0
jmp case.default.0x426fe1
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x68], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x70], ecx
cmp dword [eax + 0x34], 0
je case.default.0x426fe1
test ecx, ecx
mov eax, dword [esp + 0x18]
mov bl, byte [eax + 0x3a]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x80], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x84], edi
mov dword [esp + 0x74], 0
jle 0x42bcee
lea esp, [esp]
mov ecx, edi
call fcn.00426c10
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x84]
add eax, 1
add edi, 0x28
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x84], edi
mov dword [esp + 0x74], eax
jl 0x42bcb0
mov cl, byte [ebp + 3]
mov edi, dword [esp + 0x18]
mov byte [edi + 0x3a], cl
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x78]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov byte [edi + 0x3a], bl
mov edx, dword [esp + 0x78]
push edx
push esi
mov dword [esp + 0x2c], eax
call fcn.00426e10
mov ecx, dword [esp + 0x2c]
add esp, 0x18
test ecx, ecx
jne 0x42bd54
cmp dword [ebp + 4], ecx
je 0x42bd54
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], edx
mov dword [edi + 0x24], eax
cmp ecx, 0x13
jne 0x42bd92
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x42bd92
mov al, byte [ebp + 3]
cmp al, 4
jne 0x42bd76
mov dword [esp + 0x14], 0
jmp case.default.0x426fe1
cmp al, 5
jne 0x42bd87
mov eax, 2
mov byte [esi + 0x5c], al
jmp case.default.0x426fe1
movzx eax, al
mov byte [esi + 0x5c], al
jmp case.default.0x426fe1
add dword [esi + 0x68], 1
jmp case.default.0x426fe1
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov edx, dword [edx + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x2c]
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], 0
jmp case.default.0x426fe1
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x10]
mov ebp, dword [ebp + 0xc]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
xor eax, eax
test ebp, ebp
je 0x42bde7
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, ebp
jae 0x42bde7
mov eax, ebp
call fcn.00417ce0
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x426fe1
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x94], 0
je case.default.0x426fe1
mov ebp, dword [ebp + 0x10]
test ebp, ebp
mov ecx, ebp
jne 0x42be11
mov ecx, dword [esi + 0xa0]
test ecx, ecx
mov dword [esp + 0x68], ecx
je case.default.0x426fe1
push esi
call fcn.00426900
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x6c], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
push eax
push ecx
call edx
mov eax, dword [esp + 0x74]
add esp, 8
mov ecx, esi
call fcn.00406d00
add dword [esp + 0x1c], 1
cmp dword [esp + 0x14], 0
je 0x426f44
jmp 0x427a67
mov dword [esp + 0x14], 9
jmp 0x427a67
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x58], eax
mov cl, byte [ebp + 8]
mov byte [esi + 0x5c], cl
mov dword [esi + 0x54], edx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42bebd
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x4740c0
lea edi, [esi + 0x34]
call fcn.004070e0
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0xa0]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [ebp + 4]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.00408500
add esp, 0x1c
jmp 0x42bee0
cmp dword [esi + 0x58], 0
je 0x42bee0
mov ecx, dword [esi + 0xa0]
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 4]
push ecx
push edx
push str.constraint_failed_at__d_in___s_
push eax
call fcn.00408500
add esp, 0x10
push esi
call fcn.00423b40
mov edi, 5
add esp, 4
cmp eax, edi
je 0x42bf33
mov edi, dword [esi + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x427ac4
lea ecx, [esp + 0x78]
push ecx
call fcn.00420aa0
add esp, 4
jmp 0x427333
mov dword [esp + 0x14], 0x14
jmp 0x42bfea
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x54], edx
mov byte [edi + 0x34], 0
mov edi, 5
mov dword [esi + 0x58], edi
jmp 0x427ac4
test ebp, ebp
je 0x42bf75
mov esi, dword [esp + 0x18]
push 0x204
mov eax, esi
call fcn.00461d60
add esp, 4
mov byte [esi + 0x34], 1
mov esi, dword [esp + 0x18]
call fcn.00461970
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x427ac4
push 1
mov ecx, esi
call fcn.00423ae0
mov edi, eax
add esp, 4
test edi, edi
jne 0x427ac4
mov al, byte [esp + 0x68]
mov edi, dword [esp + 0x18]
push esi
mov byte [edi + 0x34], al
call fcn.00423b40
add esp, 4
cmp eax, 5
jne 0x42bf56
mov ecx, dword [esp + 0x1c]
mov dl, 1
sub dl, byte [esp + 0x68]
mov dword [esi + 0x54], ecx
mov byte [edi + 0x34], dl
mov edi, eax
mov dword [esi + 0x58], edi
jmp 0x427ac4
mov ecx, dword [esp + 0x1c]
mov edi, 5
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edi
jmp 0x427ac4
mov eax, 0x109be
call fcn.00463d40
mov dword [esp + 0x14], eax
jmp 0x42bfea
mov dword [esp + 0x14], 0xd
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x36], 0
je 0x42c00c
mov dword [esp + 0x14], 7
mov ecx, dword [esp + 0x14]
mov eax, str.unknown_error
call fcn.00461e40
jmp 0x42c039
cmp dword [esp + 0x14], 0xc0a
je 0x427a67
cmp dword [esp + 0x14], 0x204
je 0x42c034
mov ecx, dword [esp + 0x14]
mov eax, str.unknown_error
call fcn.00461e40
jmp 0x42c039
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [esp + 0x20]
push eax
push 0x4740c0
add edi, 0x34
mov eax, edx
call fcn.004070e0
add esp, 8
jmp 0x427a67
mov ecx, dword [esp + 0x20]
mov eax, 9
mov dword [ecx + 0x58], eax
mov ecx, dword [str.interrupted]
test ecx, ecx
mov dword [esp + 0x14], eax
mov eax, str.unknown_error
je 0x42c076
mov eax, ecx
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push 0x4740c0
add edi, 0x34
call fcn.004070e0
add esp, 8
jmp 0x427a67