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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x54d028]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x14]
push esi
push edi
mov edi, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x4c], eax
mov al, byte [edx + 0x49]
xor esi, esi
mov byte [esp + 0x47], al
lea eax, [ebx + 0x80]
push eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], edi
mov byte [esp + 0x4f], 0
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], eax
call fcn.00461a60
add esp, 4
cmp dword [ebx + 0x58], 7
je 0x472388
xor eax, eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x2c], eax
mov edx, dword [edi + 0xd8]
mov dword [edi + 0x1a0], eax
test edx, edx
jne 0x476f79
mov edx, dword [ebx + 0x54]
xor ecx, ecx
cmp dword [edi + 0x100], eax
mov dword [esp + 0x34], edx
setne cl
mov dword [esp + 0x60], ecx
cmp byte [edi + 0x1e], 0
jne 0x472388
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*4]
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x38], edi
cmp dword [esp + 0x60], edx
je 0x471e60
mov eax, dword [ecx + 0x108]
cmp eax, dword [esp + 0x50]
jne 0x471e5c
mov eax, ecx
mov ecx, dword [eax + 0x104]
mov edx, dword [eax + 0x100]
push ecx
call edx
add esp, 4
test eax, eax
jne 0x476dba
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
xor edx, edx
inc dword [esp + 0x50]
test byte [edi + 2], 2
je 0x471e8b
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [esp + 0x3c], esi
call fcn.0046b720
mov ecx, dword [esp + 0x2c]
mov edx, 4
mov word [esi + 0x1c], dx
xor edx, edx
movzx eax, byte [edi]
dec eax
cmp eax, 0x90
ja case.0x471e9a.17
jmp dword [eax*4 + 0x476fb0]
mov eax, dword [ecx + 0xd8]
test eax, eax
jne 0x476f7b
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x34]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [edi + 8]
dec ecx
mov dword [esp + 0x34], ecx
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*8]
mov dword [esp + 0x34], ecx
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov eax, dword [ecx]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x34], ecx
jmp case.0x471e9a.17
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x471e9a.17
cmp dword [edi + 4], edx
jne 0x476dc7
mov eax, dword [ebx + 0xd4]
cmp eax, edx
je 0x476dc7
mov edx, dword [eax + 0x3c]
dec dword [ebx + 0xd8]
mov ecx, dword [ebx + 0x6c]
mov dword [ebx + 0xd4], edx
mov edx, dword [esp + 0x2c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [ecx + 0x14], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x4c], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x48], edx
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x34], edx
mov dx, word [eax + 0x1c]
mov word [ecx + 0x32], dx
mov esi, dword [eax + 0x30]
mov edx, dword [ecx]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 0x34]
mov dword [edx + 0x34], esi
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x6c], edx
cmp dword [edi + 8], 4
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
jne 0x471fd2
mov ecx, dword [ebx + 0x14]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [esp + 0x34], edx
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], ecx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x471e9a.17
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov dword [esi], edx
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
jmp case.0x471e9a.17
mov ecx, 8
mov word [esi + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [esi + 8]
jmp case.0x471e9a.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
mov dword [esp + 0x40], ecx
call fcn.00459260
cmp byte [esp + 0x47], 1
mov dword [edi + 4], eax
je 0x472134
test ecx, ecx
jne 0x47204a
push esi
call fcn.0046bb00
add esp, 4
jmp 0x4720d5
mov esi, dword [esi + 0x10]
test esi, esi
je 0x472056
mov eax, dword [esi + 0x48]
jmp 0x47205b
mov eax, 0x3b9aca00
xor esi, esi
mov dword [esp + 0x24], eax
test eax, eax
js 0x472070
cmp byte [ecx + esi], 0
je 0x472070
inc esi
cmp esi, eax
jle 0x472065
mov ebx, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x38], 0x202
push ebx
cmp eax, fcn.00457150
jne 0x472097
call fcn.0046b790
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x24], eax
jmp 0x4720ab
call fcn.0046b790
mov ecx, dword [esp + 0x44]
mov dword [ebx + 0x14], ecx
mov dword [esp + 0x3c], 0xa02
mov dx, word [esp + 0x3c]
add esp, 4
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], dx
mov word [ebx + 0x1e], 0x103
cmp esi, dword [esp + 0x24]
jg 0x472aac
mov esi, dword [esp + 0x3c]
movzx ecx, byte [esp + 0x47]
mov eax, esi
mov dword [esp + 0x24], 0
call fcn.0046b380
test eax, eax
jne 0x472388
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov edx, 0x800
or ax, dx
or bl, 0xff
mov word [esi + 0x1c], ax
cmp byte [edi + 1], bl
jne 0x472125
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.00457150
add esp, 8
mov byte [edi + 1], bl
mov edx, dword [esi + 0x14]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x2c]
cmp ecx, dword [edx + 0x48]
jg 0x472aac
mov ebx, dword [esp + 0x28]
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov ecx, dword [edi + 0x10]
mov al, byte [esp + 0x47]
mov dword [esi + 0x14], ecx
mov edx, dword [edi + 4]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.0x471e9a.17
mov ecx, 1
mov word [esi + 0x1c], cx
jmp case.0x471e9a.17
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov dword [esp + 0x38], ecx
cmp ecx, edx
jne 0x47219a
push esi
call fcn.0046bb00
mov al, byte [esp + 0x4b]
add esp, 4
mov byte [esi + 0x1f], al
jmp case.0x471e9a.17
mov eax, dword [esi + 0x10]
cmp eax, edx
je 0x4721a6
mov eax, dword [eax + 0x48]
jmp 0x4721ab
mov eax, 0x3b9aca00
mov dword [esp + 0x40], 0x10
cmp edi, edx
jge 0x4721d8
xor edi, edi
cmp eax, edx
jl 0x4721d0
lea ecx, [ecx]
mov dl, byte [ecx + edi + 1]
or dl, byte [ecx + edi]
je 0x4721d0
add edi, 2
cmp edi, eax
jle 0x4721c0
mov dword [esp + 0x40], 0x210
xor eax, eax
push esi
cmp eax, fcn.00457150
jne 0x4721f6
call fcn.0046b790
mov eax, dword [esp + 0x3c]
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], eax
jmp 0x47220d
call fcn.0046b790
mov ecx, dword [esp + 0x3c]
add esp, 4
or dword [esp + 0x40], 0x800
mov dword [esi + 0x14], ecx
mov dx, word [esp + 0x40]
mov al, byte [esp + 0x47]
mov word [esi + 0x1e], 0x104
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], edi
mov word [esi + 0x1c], dx
mov byte [esi + 0x1f], al
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
dec eax
mov dword [esp + 0x78], eax
mov esi, dword [edi + 8]
mov dword [esp + 0x7c], esi
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x4722c7
mov edi, dword [esp + 0x30]
jmp 0x47225a
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x3c]
dec ecx
mov dword [esp + 0x80], ecx
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
inc eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
call fcn.0046bca0
test eax, eax
jne 0x472aac
lea eax, [esi + esi*4]
lea ebx, [edi + eax*8]
inc esi
mov dword [esp + 0x7c], esi
mov esi, ebx
mov dword [esp + 0x3c], ebx
call fcn.0046b720
mov ecx, 1
mov word [ebx + 0x1c], cx
mov edx, dword [esp + 0x84]
push 0x800
push edx
call fcn.0046bcd0
mov ecx, dword [esp + 0x88]
add esp, 8
test ecx, ecx
jg 0x472252
dec ecx
mov dword [esp + 0x80], ecx
jmp 0x4723da
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x84], edx
lea ecx, [ecx + ecx*4]
lea edx, [edx + edx*4]
lea edi, [esi + ecx*8]
lea esi, [esi + edx*8]
mov dword [esp + 0x3c], esi
test eax, eax
je 0x47233c
dec eax
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x78], eax
mov ebx, edi
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.0046bd80
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x24], ecx
mov eax, dword [esp + 0x7c]
add edi, 0x28
add esi, 0x28
test eax, eax
jne 0x472307
mov dword [esp + 0x3c], esi
dec eax
mov dword [esp + 0x7c], eax
jmp 0x4723da
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x44], ebx
call fcn.0046bcd0
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je 0x4723da
mov ecx, ebx
push ecx
call fcn.0046b4e0
add esp, 4
test eax, eax
je 0x4723da
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
push str.out_of_memory
add esi, 0x5c
mov byte [eax + 0x1e], 1
call fcn.00457550
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x28], 7
jmp 0x472ac9
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
push 0x1000
lea edx, [eax + ecx*8]
mov dword [esp + 0x40], ebx
push edx
call fcn.0046bcd0
add esp, 8
mov ebx, dword [esp + 0x28]
inc dword [esp + 0x34]
cmp dword [esp + 0x24], 0
jne 0x472acc
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x2c]
jmp 0x471e02
push 0
mov ecx, ebx
call fcn.0046e5d0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne case.0x471e9a.17
push 1
push ebx
call fcn.0046e500
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne case.0x471e9a.17
mov edx, dword [ebx + 0x50]
mov ecx, dword [esp + 0x30]
add edx, 2
or edx, 1
mov dword [ebx + 0x50], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x7c], eax
cmp dword [edi + 8], eax
jle 0x47247c
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x78]
lea esi, [eax + edx*8]
call fcn.0046b5b0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
call fcn.00471a40
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [edi + 8]
jl 0x47244c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x1e], 0
jne 0x472388
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
inc ecx
mov dword [edx + 0x54], ecx
mov esi, 0x64
jmp 0x472b22
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
lea eax, [edi + edi*4]
lea ebx, [ebx + eax*8]
movzx eax, word [ecx + 0x1c]
mov dword [esp + 0x38], ecx
mov cl, byte [esi + 0x1c]
or cl, al
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
test cl, 1
je 0x4724e7
push ebx
call fcn.0046bb00
add esp, 4
jmp 0x4723da
test eax, 0x4000
je 0x4724ff
mov esi, dword [esp + 0x38]
call fcn.0046b550
test eax, eax
jne 0x472388
mov esi, dword [esp + 0x40]
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x47251b
call fcn.0046b550
test eax, eax
jne 0x472388
mov eax, dword [esp + 0x38]
test byte [eax + 0x1c], 0x12
jne 0x472539
movzx edi, byte [esp + 0x47]
mov esi, eax
call fcn.0046b600
test eax, eax
jne 0x472388
mov ecx, dword [esp + 0x40]
test byte [ecx + 0x1c], 0x12
jne 0x472557
movzx edi, byte [esp + 0x47]
mov esi, ecx
call fcn.0046b600
test eax, eax
jne 0x472388
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x18]
mov ecx, dword [esp + 0x40]
add eax, dword [ecx + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x472aac
jl 0x47258c
cmp esi, eax
ja 0x472aac
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp ebx, dword [esp + 0x40]
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x78]
sete dl
add eax, 2
push edx
push eax
push ebx
call fcn.0046b3b0
add esp, 0xc
test eax, eax
jne 0x472388
mov esi, dword [esp + 0x40]
cmp ebx, esi
je 0x4725df
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
mov eax, dword [ebx + 0x14]
push ecx
push edx
push eax
call fcn.004db780
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x14]
add eax, dword [esi + 0x18]
push ecx
push edx
push eax
call fcn.004db780
mov edx, dword [esp + 0x84]
mov ecx, dword [ebx + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x84]
mov eax, dword [ebx + 0x14]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x53]
mov edx, 0x200
add esp, 0xc
or word [ebx + 0x1c], dx
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], cl
jmp 0x4723da
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
mov edi, ebx
call fcn.00471b70
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 8]
mov esi, dword [esp + 0x30]
lea edx, [eax + eax*4]
lea edi, [esi + edx*8]
call fcn.00471b70
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
movzx edx, word [ebx + 0x1c]
lea ecx, [eax + eax*4]
movzx eax, word [edi + 0x1c]
or edx, eax
lea esi, [esi + ecx*8]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x78], edx
test dl, 1
jne 0x4728d2
mov cl, byte [ebx + 0x1c]
and cl, byte [edi + 0x1c]
test cl, 4
je 0x47279e
mov ecx, dword [ebx]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x80], ecx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x84], ebx
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x8c], edi
movzx edx, byte [edx]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x4726c9
jmp dword [edx*4 + 0x4771f4]
add eax, ecx
adc edi, ebx
mov dword [esp + 0x8c], edi
jmp 0x472772
sub eax, ecx
sbb edi, ebx
mov dword [esp + 0x8c], edi
jmp 0x472772
push ebx
push ecx
push edi
push eax
call fcn.004dc3f0
jmp 0x47276b
mov edx, ecx
or edx, ebx
je 0x4728d2
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x47272f
test eax, eax
jne 0x47272f
cmp edi, 0x80000000
jne 0x47272f
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebx
push ebx
push ecx
push edi
push eax
call fcn.004dd4e0
jmp 0x47276b
mov edx, ecx
or edx, ebx
je 0x4728d2
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x472762
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebx
push ebx
push ecx
push edi
push eax
call fcn.004dd5c0
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], eax
mov cx, word [esi + 0x1c]
mov edx, 0xbf04
and cx, dx
mov dword [esi], eax
mov eax, dword [esp + 0x8c]
or cx, 4
mov dword [esi + 4], eax
mov word [esi + 0x1c], cx
jmp 0x4723da
mov eax, ebx
call fcn.0046b8f0
fstp qword [esp + 0x90]
mov eax, edi
call fcn.0046b8f0
fst qword [esp + 0x98]
mov eax, dword [esp + 0x38]
movzx eax, byte [eax]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4727c9
jmp dword [eax*4 + 0x477204]
fadd qword [esp + 0x90]
jmp 0x47287e
fsub qword [esp + 0x90]
jmp 0x47287e
fmul qword [esp + 0x90]
jmp 0x47287e
fld qword [esp + 0x90]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4728ce
fdivp st(1)
jmp 0x47287e
fld qword [esp + 0x90]
call fcn.00510556
mov edi, eax
mov ebx, edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
call fcn.00510556
mov ecx, edi
or ecx, ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
je 0x4728d2
mov ecx, edi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x472869
mov edi, 1
xor ebx, ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push ebx
push edi
push edx
push eax
call fcn.004dd5c0
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
fild qword [esp + 0x68]
sub esp, 8
fst qword [esp + 0xa0]
fstp qword [esp]
call fcn.00459230
add esp, 8
test eax, eax
jne 0x4728d2
mov dx, word [esi + 0x1c]
fld qword [esp + 0x98]
mov eax, 0xbf08
fstp qword [esi + 8]
and dx, ax
or dx, 8
mov word [esi + 0x1c], dx
test byte [esp + 0x78], 8
jne 0x4723da
mov esi, dword [esp + 0x3c]
call fcn.0046b970
jmp 0x4723da
fstp st(0)
fstp st(0)
push esi
call fcn.0046bb00
add esp, 4
jmp 0x4723da
movzx ecx, byte [edi + 3]
mov eax, dword [ebx + 0x24]
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x78], eax
cmp ecx, edx
jle 0x47293e
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x7c]
call fcn.00471a40
mov eax, dword [esp + 0x78]
add dword [esp + 0x7c], 0x28
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0xc4]
jl 0x472910
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x472959
xor ecx, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
jmp 0x47296b
mov dword [esp + 0x84], eax
mov ecx, dword [eax]
mov dword [esp + 0x80], ecx
xor ecx, ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea esi, [eax + edx*8]
mov eax, dword [esp + 0x2c]
mov edx, 1
mov dword [esp + 0x98], eax
mov ebx, esi
lea eax, [esp + 0x88]
mov dword [esp + 0x3c], esi
mov word [esp + 0xa4], dx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
call fcn.0046bd80
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x80]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xa4], cx
mov dword [esp + 0xb4], 0
test byte [eax + 3], 8
je 0x4729ea
mov edx, dword [edi - 4]
mov dword [esp + 0xb8], edx
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
push ecx
push edx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x88]
push ecx
call edx
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x476e50
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x472a3d
mov ecx, dword [edi + 4]
push ecx
call fcn.0046eb30
mov edx, dword [esp + 0x88]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [esp + 0xb4], 0
je 0x472a7e
lea eax, [esp + 0x88]
push 1
push eax
call fcn.0046c2b0
mov esi, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push 0x52eff8
add esi, 0x5c
call fcn.00457550
mov ecx, dword [esp + 0xc4]
mov esi, dword [esp + 0x4c]
add esp, 0x10
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x47]
lea eax, [esp + 0x88]
call fcn.0046b380
lea ebx, [esp + 0x88]
mov eax, esi
call fcn.0046bd80
mov ecx, esi
call fcn.0046bca0
test eax, eax
je 0x4723da
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push str.string_or_blob_too_big
lea esi, [ebx + 0x5c]
call fcn.00457550
mov dword [esp + 0x28], 0x12
add esp, 4
mov eax, dword [ebx + 0x5c]
mov ecx, dword [ebx + 0xb8]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push esi
mov dword [ebx + 0x58], esi
call fcn.004589b0
add esp, 0x14
mov eax, ebx
call fcn.0046e630
cmp esi, 0xc0a
jne 0x472b08
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x1e], 1
cmp byte [esp + 0x4b], 0
mov esi, 1
je 0x472b22
mov eax, dword [esp + 0x2c]
push 0
call fcn.00483290
add esp, 4
mov ecx, dword [esp + 0x5c]
xor ebx, ebx
cmp dword [ecx], ebx
jle 0x472b64
lea edx, [ecx + 4]
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x4c]
mov edi, dword [eax]
dec dword [edi + 0xc]
jne 0x472b5a
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x472b56
push eax
call dword [0x54ee30]
mov ecx, dword [esp + 0x60]
add esp, 4
mov byte [edi + 0xa], 0
add dword [esp + 0x4c], 4
inc ebx
cmp ebx, dword [ecx]
jl 0x472b33
mov ecx, dword [esp + 0x13c]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.004d62e5
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x30]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dl, byte [eax + 0x1c]
or dl, byte [esi + 0x1c]
mov dword [esp + 0x3c], ecx
test dl, 1
je 0x472bb7
push ecx
call fcn.0046bb00
add esp, 4
jmp case.0x471e9a.17
call fcn.0046b860
mov dword [esp + 0x78], eax
mov eax, esi
mov dword [esp + 0x7c], edx
call fcn.0046b860
mov ecx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x472c19
dec eax
je 0x472c0f
mov edx, dword [esp + 0x7c]
dec eax
mov eax, dword [esp + 0x78]
je 0x472c00
call fcn.00510650
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x472c21
call fcn.004dd7e0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x472c21
or dword [esp + 0x78], ecx
or dword [esp + 0x7c], edx
jmp 0x472c21
and dword [esp + 0x78], ecx
and dword [esp + 0x7c], edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov edx, dword [esp + 0x7c]
mov cx, word [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.0046ba10
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
mov edi, esi
call fcn.00471b70
test byte [esi + 0x1c], 8
je 0x472c8a
call fcn.0046b970
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x472caf
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 8]
mov ebx, dword [esp + 0x28]
test eax, eax
je 0x476e65
dec eax
mov dword [esp + 0x34], eax
jmp case.0x471e9a.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp 0x4723da
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 4
lea esi, [eax + edx*8]
je case.0x471e9a.17
call fcn.0046ba40
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [edi + edi*4]
movzx eax, word [edx + ecx*8 + 0x1c]
lea esi, [edx + ecx*8]
test al, 1
jne case.0x471e9a.17
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [esi + 0x1c], cx
test cl, 2
jne 0x472d22
test cl, 0xc
je 0x472d22
movzx edi, byte [esp + 0x47]
call fcn.0046b600
mov ebx, dword [esp + 0x28]
mov edx, 0xfff3
and word [esi + 0x1c], dx
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x472d4d
call fcn.0046b550
mov dword [esp + 0x24], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp case.0x471e9a.17
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov dword [esp + 0x24], 0
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [edi + edi*4]
movzx eax, word [edx + ecx*8 + 0x1c]
lea esi, [edx + ecx*8]
test al, 1
jne case.0x471e9a.17
test al, 0x10
jne 0x472db0
test al, 2
jne 0x472d97
test al, 0xc
je 0x472d97
movzx edi, byte [esp + 0x47]
call fcn.0046b600
mov ebx, dword [esp + 0x28]
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
jmp case.0x471e9a.17
and eax, 0xff10
mov word [esi + 0x1c], ax
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 0xd
lea eax, [eax + edx*8]
jne case.0x471e9a.17
call fcn.0046ba70
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x471e9a.17
call fcn.0046ba10
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edi*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne case.0x471e9a.17
call fcn.0046ba40
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [esi + edx*8]
movzx edx, word [ecx + 0x1c]
lea eax, [eax + eax*4]
mov word [esp + 0x7e], dx
movzx edx, word [esi + eax*8 + 0x1c]
lea eax, [esi + eax*8]
mov word [esp + 0x80], dx
mov dword [esp + 0x40], eax
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x38], ecx
movzx ecx, word [ecx + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x472ec3
mov dl, byte [edi + 3]
test dl, dl
jns 0x472e81
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x472f41
test dl, 0x10
je 0x472ead
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [esi + eax*8 + 0x1c]
lea eax, [esi + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x3c], eax
mov word [eax + 0x1c], cx
jmp case.0x471e9a.17
test dl, 8
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov al, byte [edi + 3]
and al, 0x67
mov byte [esp + 0x7c], al
je 0x472f05
mov esi, dword [esp + 0x47]
mov ecx, dword [esp + 0x38]
push esi
call fcn.00471c50
mov al, byte [esp + 0x80]
mov ecx, dword [esp + 0x44]
add esp, 4
push esi
call fcn.00471c50
mov eax, dword [esp + 0x30]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x472388
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov ecx, 0x4000
test word [edx + 0x1c], cx
je 0x472f1b
mov esi, edx
call fcn.0046b550
mov ecx, dword [esp + 0x40]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x472f31
mov esi, ecx
call fcn.0046b550
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
call fcn.0046bf30
mov dword [esp + 0x78], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x472f50
jmp dword [ecx*4 + 0x477214]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x472f93
xor ecx, ecx
test eax, eax
setne cl
jmp 0x472f91
xor edx, edx
test eax, eax
sets dl
mov eax, edx
jmp 0x472f93
xor ecx, ecx
test eax, eax
setle cl
jmp 0x472f91
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x472f93
xor ecx, ecx
test eax, eax
setns cl
mov eax, ecx
mov dword [esp + 0x78], eax
test byte [edi + 3], 0x10
je 0x472fce
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov dx, word [ecx + 0x1c]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x78]
cdq
mov dword [esp + 0x3c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x472fda
test eax, eax
je 0x472fda
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov cl, byte [esp + 0x7e]
mov edx, dword [esp + 0x38]
mov byte [edx + 0x1c], cl
mov al, byte [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x1c], al
jmp case.0x471e9a.17
mov edx, dword [edi + 0x10]
mov dword [esp + 0x58], edx
jmp case.0x471e9a.17
mov eax, dword [edi + 0xc]
mov dword [esp + 0x78], eax
mov edx, dword [edi + 0x10]
mov dword [esp + 0x88], edx
mov ecx, dword [edi + 4]
mov dword [esp + 0x80], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x84], ecx
xor ecx, ecx
mov dword [esp + 0x7c], ecx
test eax, eax
jle 0x4730cb
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x58]
jmp 0x473048
mov edx, dword [esp + 0x88]
test ebx, ebx
je 0x473051
mov esi, dword [ebx + ecx*4]
jmp 0x473053
mov esi, ecx
mov dword [esp + 0x8c], esi
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [esp + 0x90], eax
mov edx, dword [edx + 8]
movzx ecx, byte [edx + ecx]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x94], ecx
lea ecx, [esi + edx]
lea ecx, [ecx + ecx*4]
lea edx, [edi + ecx*8]
mov ecx, dword [esp + 0x80]
add ecx, esi
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
call fcn.0046bf30
mov dword [esp + 0x54], eax
test eax, eax
jne 0x4730b7
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0x78]
jl 0x473041
mov dword [esp + 0x58], eax
jmp 0x4723da
cmp dword [esp + 0x94], 0
je 0x4730cb
mov edx, dword [esp + 0x54]
neg edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], 0
jmp 0x4723da
mov eax, dword [esp + 0x54]
cmp eax, edx
jge 0x4730ed
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
jne 0x4730fc
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x473124
mov ecx, 2
jmp 0x473136
call fcn.0046b860
or eax, edx
je 0x473134
mov ecx, 1
jmp 0x473136
xor ecx, ecx
mov esi, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 1
lea eax, [esi + edx*8]
je 0x473155
mov eax, 2
jmp 0x47316b
call fcn.0046b860
or eax, edx
mov ecx, dword [esp + 0x78]
je 0x473169
mov eax, 1
jmp 0x47316b
xor eax, eax
mov dword [esp + 0x7c], eax
cmp byte [edi], 0x45
jne 0x473181
lea eax, [eax + ecx*2]
movzx eax, byte [ecx + eax + 0x526d00]
jmp 0x47318c
lea edx, [eax + ecx*2]
movzx eax, byte [ecx + edx + 0x526d0c]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x3c], ecx
cmp eax, 2
jne 0x4731bb
mov dx, word [ecx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ecx + 0x1c], dx
jmp case.0x471e9a.17
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [ecx + edx*8 + 0x1c], 1
lea eax, [ecx + edx*8]
lea edx, [edi + edi*4]
lea esi, [ecx + edx*8]
mov dword [esp + 0x3c], esi
je 0x473209
push esi
call fcn.0046bb00
add esp, 4
jmp case.0x471e9a.17
call fcn.0046b860
or eax, edx
jne 0x473227
mov eax, 1
cdq
push edx
push eax
call fcn.0046bb50
add esp, 8
jmp case.0x471e9a.17
xor eax, eax
cdq
push edx
push eax
call fcn.0046bb50
add esp, 8
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea eax, [ecx + eax*8]
lea esi, [ecx + edx*8]
mov dword [esp + 0x3c], esi
je 0x473268
push esi
call fcn.0046bb00
add esp, 4
jmp case.0x471e9a.17
call fcn.0046b860
not edx
not eax
push edx
push eax
call fcn.0046bb50
add esp, 8
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x473299
mov eax, dword [edi + 0xc]
jmp 0x4732c4
call fcn.0046b8f0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4732b0
mov eax, 1
jmp 0x4732b2
xor eax, eax
mov dword [esp + 0x78], eax
cmp byte [edi], 0x1b
jne 0x4732c8
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x78], eax
test eax, eax
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
test byte [eax + edx*8 + 0x1c], 1
jne case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [esp + 0x88], ecx
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
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
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0xb4], eax
mov dx, word [eax + 0x1c]
mov esi, 0xbf01
and dx, si
or dx, 1
mov word [eax + 0x1c], dx
mov eax, dword [ebx + 0x34]
mov esi, dword [esp + 0x88]
xor edx, edx
mov dword [esp + 0x94], edx
mov esi, dword [eax + esi*4]
mov dword [esp + 0x90], esi
mov eax, dword [esi]
mov dword [esp + 0x98], eax
cmp eax, edx
je 0x4734aa
call fcn.0046ed20
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f36
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x14], 0
je 0x473405
mov dword [esp + 0x78], 0
jmp case.0x471e9a.17
mov ecx, dword [eax + 0x44]
cmp ecx, dword [ebx + 0x50]
jne 0x473420
mov edx, dword [eax + 0x48]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x94], ecx
jmp 0x473453
cmp byte [eax + 0x17], 0
mov esi, dword [esp + 0x98]
je 0x473497
lea edx, [esp + 0x80]
push edx
call fcn.00465050
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
add esp, 4
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x78]
test ecx, ecx
je case.0x471e9a.17
mov edx, dword [esp + 0x2c]
cmp ecx, dword [edx + 0x48]
ja 0x472aac
mov edx, dword [eax + 0x2c]
mov dword [esp + 0xa4], edx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x9c], ecx
mov esi, dword [eax + 0x44]
cmp esi, dword [ebx + 0x50]
jne 0x4734f3
mov eax, dword [eax + 0x50]
mov dword [esp + 0xa0], eax
jmp 0x4737de
lea ecx, [esp + 0x78]
push ecx
call fcn.004650d0
add esp, 4
mov dword [esp + 0x24], eax
jmp 0x47344c
mov eax, dword [esi + 0x24]
cmp eax, edx
jle 0x4734ea
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0xf8], eax
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x94], eax
test byte [edi + 3], 0x20
je 0x4734df
xor eax, eax
mov dword [esi + 0x44], eax
jmp 0x47344c
mov eax, dword [ebx + 0x50]
mov dword [esi + 0x44], eax
jmp 0x47344c
mov dword [esp + 0x78], edx
jmp case.0x471e9a.17
lea ecx, [ecx + edx*4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xf4], 0
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x48], edx
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x44], eax
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x47353d
mov dword [esp + 0xb0], ecx
jmp 0x4735b9
mov edx, dword [esp + 0x90]
cmp byte [edx + 0x17], 0
mov esi, dword [esp + 0x98]
je 0x473563
lea eax, [esp + 0xf4]
push eax
call fcn.004656d0
add esp, 4
jmp 0x47357d
xor eax, eax
cmp byte [esi + 0x43], 1
jne 0x47357d
lea ecx, [esp + 0xf4]
push 1
push ecx
call fcn.00465640
add esp, 8
mov edx, dword [esp + 0x78]
mov dword [esp + 0xb0], eax
cmp edx, dword [esp + 0xf4]
ja 0x4735a4
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], eax
mov dword [ecx + 0x54], eax
jmp 0x4735b2
mov edx, dword [esp + 0x90]
mov dword [edx + 0x54], 0
mov ecx, dword [esp + 0xb0]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4735d0
movzx edx, al
mov dword [esp + 0xe8], edx
mov eax, 1
jmp 0x4735ed
lea esi, [esp + 0xe8]
call fcn.0045a020
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xb0]
movzx eax, al
movzx eax, al
mov dword [esp + 0xf0], eax
cmp edx, 0x18003
jbe 0x473612
mov eax, 0xd8c5
call fcn.004ae880
mov dword [esp + 0x24], eax
jmp case.0x471e9a.17
mov esi, dword [esp + 0xa4]
lea eax, [esi + esi*4 + 3]
mov dword [esp + 0xa8], eax
cmp eax, edx
jle 0x473631
mov eax, edx
mov dword [esp + 0xa8], eax
cmp dword [esp + 0x94], 0
jne 0x4736b1
cmp dword [esp + 0xf4], eax
jge 0x4736b1
mov edx, dword [esp + 0x90]
xor ecx, ecx
mov word [esp + 0xd4], cx
mov dword [esp + 0xc8], ecx
movzx ecx, byte [edx + 0x17]
push ecx
push eax
mov eax, dword [esp + 0xa0]
push 0
lea ebx, [esp + 0xc4]
call fcn.0046c1b0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4723da
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xb0], ecx
add eax, ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xf0]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xac], ecx
test esi, esi
jle 0x473785
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0xe4]
mov eax, dword [esp + 0xa0]
jae 0x473855
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xe0]
mov al, byte [ecx]
mov edx, dword [esp + 0xac]
cmp al, 0x80
jae 0x473721
movzx ecx, al
mov eax, dword [esp + 0x9c]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x473733
mov eax, dword [esp + 0x9c]
lea esi, [eax + edx*4]
call fcn.0045a020
movzx eax, al
mov edx, dword [esp + 0x9c]
movzx ecx, al
add dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xac]
mov eax, dword [edx + ecx*4]
call fcn.0046eea0
mov edx, dword [esp + 0xe8]
add edx, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], edx
cmp edx, eax
jae 0x47386a
mov ecx, dword [esp + 0xe4]
inc ecx
mov dword [esp + 0xe0], ecx
mov ebx, dword [esp + 0x28]
lea edx, [esp + 0xb8]
push edx
call fcn.0046b790
mov ecx, dword [esp + 0xe8]
mov eax, 1
mov word [esp + 0xd8], ax
mov eax, dword [esp + 0xe4]
add esp, 4
cmp eax, ecx
ja 0x4739b8
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0x78]
cmp edx, esi
ja 0x4739b8
cmp eax, ecx
jne 0x4737d7
cmp edx, esi
jne 0x4739b8
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xa0]
cmp dword [edx + eax*4], 0
je 0x473931
cmp dword [esp + 0x94], 0
je 0x473884
mov esi, dword [esp + 0xb4]
call fcn.0046b720
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x94]
mov esi, dword [esp + 0xb4]
push edx
call fcn.0046ef70
mov eax, dword [esp + 0xb8]
mov cl, byte [esp + 0x4b]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x473953
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xac]
inc ecx
mov dword [esp + 0xac], ecx
cmp ecx, dword [esp + 0xa4]
jl 0x4736db
jmp 0x473781
mov eax, dword [ecx + eax*4]
call fcn.0046eea0
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xb8]
call fcn.0046bd80
mov edx, dword [esp + 0x90]
movzx eax, byte [edx + 0x17]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [edx + eax*4]
mov eax, dword [esp + 0xa0]
push ecx
lea ebx, [esp + 0xc4]
call fcn.0046c1b0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4723da
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0xb0], ecx
mov edx, dword [edx + eax*4]
push edx
call fcn.0046ef70
mov eax, dword [esp + 0xb8]
mov cl, byte [esp + 0x4b]
mov ebx, dword [esp + 0x2c]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x473953
cmp byte [edi + 1], 0xf8
jne 0x473953
mov edx, dword [edi + 0x10]
mov ebx, dword [esp + 0xb4]
push 0x800
push edx
call fcn.0046bcd0
mov ebx, dword [esp + 0x30]
add esp, 8
cmp dword [esp + 0xdc], 0
je 0x47399f
mov eax, dword [esp + 0xb4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xb4]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xb4]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.0046b4e0
add esp, 4
mov dword [esp + 0x24], eax
jmp case.0x471e9a.17
mov eax, 0xd90f
call fcn.004ae880
mov dword [esp + 0x24], eax
jmp case.0x471e9a.17
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
mov al, byte [ecx]
mov byte [esp + 0x7c], al
test al, al
je 0x473a29
lea esp, [esp]
inc ecx
mov dword [esp + 0x78], ecx
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x473a09
call fcn.0046b550
mov al, byte [esp + 0x7c]
mov edx, dword [esp + 0x47]
push edx
mov ecx, esi
call fcn.00471c50
mov ecx, dword [esp + 0x7c]
mov al, byte [ecx]
add esp, 4
add esi, 0x28
mov byte [esp + 0x7c], al
test al, al
jne 0x4739f0
inc ecx
mov dword [esp + 0x78], ecx
jmp case.0x471e9a.17
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xac], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea ebx, [eax + edx*8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], ebx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov dword [esp + 0xac], eax
lea eax, [ebx + ecx*8 - 0x28]
movzx ecx, byte [edx + 0x64]
mov esi, ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x7c], esi
cmp ebx, eax
ja 0x473bb3
lea esp, [esp]
cmp dword [esp + 0xb0], 0
je 0x473b06
mov edx, dword [esp + 0x47]
mov ecx, esi
sub ecx, ebx
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0xb4]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
mov ecx, esi
call fcn.00471c50
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x80]
add esp, 4
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x473b27
cmp dword [esi + 0x18], 0
jle 0x473b27
call fcn.0046b550
mov ebx, dword [esp + 0xa4]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0xb4]
push eax
mov edx, esi
call fcn.0046edc0
add esp, 4
mov dword [esp + 0xa0], eax
call fcn.0046eea0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xbc], eax
cdq
add dword [esp + 0x80], eax
push 0
push ecx
adc dword [esp + 0x8c], edx
call fcn.0045a090
add dword [esp + 0x90], eax
mov edx, 0x4000
add esp, 8
test word [esi + 0x1c], dx
je 0x473b8a
mov eax, dword [esi]
add dword [esp + 0x98], eax
jmp 0x473b9f
cmp dword [esp + 0xbc], 0
je 0x473b9f
mov dword [esp + 0x98], 0
add esi, 0x28
mov dword [esp + 0x7c], esi
cmp esi, dword [esp + 0xa8]
jbe 0x473ac0
mov esi, dword [esp + 0x88]
mov eax, esi
cdq
push edx
push eax
call fcn.0045a090
mov ebx, eax
add esi, ebx
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0xac], ebx
mov dword [esp + 0x98], esi
call fcn.0045a090
add esp, 0x10
cmp ebx, eax
jge 0x473bef
inc esi
mov dword [esp + 0x88], esi
mov eax, esi
cdq
mov esi, eax
mov eax, dword [esp + 0x98]
mov ecx, edx
cdq
sub esi, eax
sbb ecx, edx
add esi, dword [esp + 0x80]
mov edx, dword [esp + 0x2c]
adc ecx, dword [esp + 0x84]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x472aac
jl 0x473c38
cmp esi, eax
ja 0x472aac
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edi*4]
push 0
lea edi, [ecx + eax*8]
push esi
push edi
mov dword [esp + 0x48], edi
call fcn.0046b3b0
add esp, 0xc
test eax, eax
jne 0x472388
mov eax, dword [esp + 0x88]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x78], ecx
cmp eax, 0x80
jae 0x473c7d
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x473c82
call fcn.00459e70
mov ecx, dword [esp + 0xa4]
movzx esi, al
mov eax, dword [esp + 0xa8]
mov edx, ecx
mov dword [esp + 0xb8], esi
mov dword [esp + 0x7c], edx
cmp ecx, eax
ja 0x473d19
jmp 0x473cb0
mov eax, dword [esp + 0xb4]
push eax
call fcn.0046edc0
add esp, 4
mov dword [esp + 0xa0], eax
cmp eax, 0x80
jae 0x473cde
mov edx, dword [esp + 0x78]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x473ce9
mov ecx, dword [esp + 0x78]
add ecx, esi
call fcn.00459e70
mov esi, dword [esp + 0xb8]
movzx edx, al
mov eax, dword [esp + 0xa8]
add esi, edx
mov edx, dword [esp + 0x7c]
add edx, 0x28
mov dword [esp + 0xb8], esi
mov dword [esp + 0x7c], edx
cmp edx, eax
jbe 0x473cb0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x7c], ecx
cmp ecx, eax
ja 0x473d68
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x78]
sub eax, esi
push eax
mov eax, dword [esp + 0xb8]
lea ebx, [esi + edx]
call fcn.0046eec0
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0xbc]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xb8], esi
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0xa8]
jbe 0x473d21
mov eax, dword [esp + 0x90]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x98]
test eax, eax
je 0x473d98
mov edx, 0x4410
mov dword [edi], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp 0x4723da
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
cmp eax, edx
je 0x473ddd
lea ecx, [esp + 0x78]
push ecx
call fcn.004692c0
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov dword [esi], edx
mov eax, dword [esp + 0x80]
add esp, 4
mov dword [esi + 4], eax
jmp case.0x471e9a.17
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], edx
mov dword [esi], edx
mov eax, dword [esp + 0x7c]
mov dword [esi + 4], eax
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov dword [esp + 0x78], eax
mov esi, dword [edi + 0x10]
mov dword [esp + 0x7c], esi
cmp eax, edx
jne 0x473edd
cmp dword [ecx + 0x90], edx
jle 0x473e32
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 0x30]
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 4
mov dword [esp + 0x24], 5
jmp case.0x471e9a.17
mov ecx, esi
call fcn.00459260
mov esi, dword [esp + 0x2c]
lea ecx, [eax + 0x19]
mov dword [esp + 0x80], eax
call fcn.00457350
mov dword [esp + 0x84], eax
test eax, eax
je 0x4723da
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004db780
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x473e95
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1d4], 1
jmp 0x473e9b
inc dword [eax + 0x1cc]
mov ecx, dword [eax + 0x1c8]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [eax + 0x1d8]
mov dword [eax + 0x1c8], ecx
mov ecx, dword [esp + 0x84]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1dc]
mov eax, dword [esp + 0x84]
mov dword [eax + 0xc], edx
jmp 0x4723da
mov dword [esp + 0x90], edx
mov edi, dword [ecx + 0x1c8]
mov dword [esp + 0x88], edi
cmp edi, edx
je 0x473f17
mov ecx, dword [edi]
mov edx, esi
call fcn.00459470
test eax, eax
je 0x473f39
inc dword [esp + 0x90]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x88], edi
test edi, edi
jne 0x473ef5
mov eax, dword [esp + 0x2c]
push esi
push str.no_such_savepoint:__s
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 8
mov dword [esp + 0x24], 1
jmp case.0x471e9a.17
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x90], 0
jg 0x4740fa
mov eax, dword [esp + 0x78]
cmp eax, 2
jne 0x473f60
cmp dword [edx + 0x8c], 1
jg 0x474101
cmp dword [edi + 0x10], 0
jne 0x473fbe
cmp byte [edx + 0x1d4], 0
je 0x473fbe
mov dword [esp + 0x40], 1
cmp eax, 1
jne 0x473fc6
push eax
mov ecx, ebx
call fcn.0046e5d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x472b22
mov esi, dword [esp + 0x2c]
mov eax, ebx
mov byte [esi + 0x1c], 1
call fcn.0046e630
cmp eax, 5
je 0x476e72
mov ecx, esi
mov byte [ecx + 0x1d4], 0
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x24], edx
jmp 0x474060
mov dword [esp + 0x40], 0
mov ecx, dword [edx + 0x1cc]
sub ecx, dword [esp + 0x90]
xor eax, eax
dec ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
cmp dword [edx + 4], eax
jle 0x474039
jmp 0x473ff7
mov ecx, dword [esp + 0x90]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x7c]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
push ecx
call fcn.00464dd0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x94], eax
cmp eax, dword [edx + 4]
jl 0x473ff0
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x78], 2
mov esi, dword [esp + 0x2c]
jne 0x474067
test dword [esi + 0xc], 0x200
je 0x474067
mov eax, esi
call fcn.0046f8b0
push 0
mov eax, esi
call fcn.00483290
add esp, 4
mov edi, dword [esp + 0x88]
cmp dword [esi + 0x1c8], edi
je 0x4740ac
nop
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0x8c], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1c8], eax
mov ecx, dword [esp + 0x8c]
push ecx
push esi
call fcn.00457150
dec dword [esi + 0x1cc]
mov edi, dword [esp + 0x90]
add esp, 8
cmp dword [esi + 0x1c8], edi
jne 0x474070
cmp dword [esp + 0x78], 1
jne 0x4740e3
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1c8], edx
mov eax, dword [esp + 0x88]
push eax
push esi
call fcn.00457150
add esp, 8
cmp dword [esp + 0x40], 0
jne 0x4723da
dec dword [esi + 0x1cc]
jmp 0x4723da
mov ecx, dword [edi + 8]
mov dword [esi + 0x1d8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1dc], edx
jmp 0x4723da
cmp dword [esp + 0x78], 2
jne 0x474108
mov eax, str.rollback
jmp 0x47410d
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea esi, [ebx + 0x5c]
mov eax, edx
call fcn.00457550
add esp, 8
mov dword [esp + 0x24], 5
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x7c], edi
cmp eax, edx
je 0x474167
cmp byte [ecx + 0x1c], 0
jne 0x474167
mov esi, 1
mov dword [esp + 0x80], esi
cmp edi, edx
je 0x474185
cmp dword [ecx + 0x8c], esi
jle 0x47416e
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x473e16
mov dword [esp + 0x80], edx
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x476e8a
cmp eax, edx
jne 0x474197
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4741a5
cmp dword [ecx + 0x90], edx
jle 0x47416e
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x473e16
mov eax, str.cannot_rollback___no_transaction_is_active
cmp edi, edx
jne 0x4741a5
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [esp + 0x30]
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 4
mov dword [esp + 0x24], 1
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x78], eax
cmp eax, edx
je case.0x471e9a.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.00463e10
add esp, 8
mov dword [esp + 0x24], eax
cmp eax, 5
je 0x476efc
test eax, eax
jne 0x476f32
cmp dword [edi + 8], eax
je case.0x471e9a.17
cmp byte [ebx + 0x66], al
je case.0x471e9a.17
mov esi, dword [esp + 0x2c]
cmp byte [esi + 0x1c], al
je 0x474224
cmp dword [esi + 0x8c], 1
jle case.0x471e9a.17
cmp dword [ebx + 0xd0], 0
jne 0x474245
mov ecx, dword [esi + 0x1cc]
inc dword [esi + 0x1d0]
add ecx, dword [esi + 0x1d0]
mov dword [ebx + 0xd0], ecx
mov edx, dword [ebx + 0xd0]
mov eax, dword [esp + 0x78]
push edx
call fcn.00464d70
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x1d8]
mov dword [ebx + 0xc8], eax
mov ecx, dword [esi + 0x1dc]
add esp, 4
mov dword [ebx + 0xcc], ecx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x7c], eax
mov edi, dword [edi + 0xc]
lea edx, [esp + 0x78]
mov dword [esp + 0x80], edi
push edx
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push edi
call fcn.004691c0
mov eax, dword [esp + 0x80]
cdq
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x2c]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea esi, [eax + edx*8]
call fcn.0046ba10
mov ecx, dword [esi]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.00469230
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x474314
mov ecx, dword [esp + 0x78]
mov eax, dword [esi]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
or dword [eax + 0xc], 0x200
jmp 0x474325
cmp eax, 2
jne 0x474325
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0xc]
mov al, byte [esi]
mov byte [edx + 0x48], al
cmp dword [edi + 4], 1
jne case.0x471e9a.17
mov eax, dword [esp + 0x2c]
call fcn.0046f8b0
mov byte [ebx + 0x62], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x7c], eax
cmp eax, edx
je 0x474366
lea edx, [esp + 0x78]
push edx
push 1
call fcn.004691c0
add esp, 8
jmp 0x47436a
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x78]
cmp eax, dword [edi + 8]
je case.0x471e9a.17
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x5c]
mov esi, dword [esp + 0x2c]
push edx
push esi
call fcn.00457150
push esi
mov ebx, str.database_schema_has_changed
call fcn.004574d0
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x5c], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
mov edx, edi
add edx, edx
mov ecx, dword [eax + edx*8 + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x78]
je 0x4743bf
push edi
mov eax, esi
call fcn.00483290
add esp, 4
mov eax, esi
call fcn.0046f8b0
mov dword [esp + 0x24], 0x11
jmp 0x4723da
cmp byte [ebx + 0x62], 0
je 0x4743e6
mov dword [esp + 0x24], 4
jmp case.0x471e9a.17
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov esi, dword [edi + 8]
mov dword [esp + 0x80], esi
mov eax, dword [edi + 0xc]
mov dword [esp + 0x84], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [esp + 0x94], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x8c], edx
cmp byte [edi], 0x27
jne 0x47443f
mov dword [esp + 0x88], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [ebx + 0x64]
jae 0x474446
mov byte [ebx + 0x64], al
jmp 0x474446
mov dword [esp + 0x88], ecx
cmp byte [edi + 3], cl
je 0x474470
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi*4]
lea esi, [edx + ecx*8]
call fcn.0046ba10
mov esi, dword [esi]
mov dword [esp + 0x80], esi
cmp esi, 2
jl 0x476f10
mov ecx, dword [esp + 0x78]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x474497
mov eax, dword [edi + 0x10]
mov ecx, dword [ebx]
mov dword [esp + 0x7c], eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x7c]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x47449e
cmp al, 0xf2
jne 0x4744a2
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x84]
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x28]
push 1
push edx
push ecx
call fcn.00471a70
add esp, 0xc
mov dword [esp + 0x90], eax
test eax, eax
je 0x472388
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
call fcn.00464ee0
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x8c]
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [edx + 0x28], ecx
cmp eax, 0x10
jne 0x47452c
mov edx, dword [esp + 0x90]
mov dword [edx], 0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x38]
cmp byte [eax + 1], 0xfa
mov edx, dword [esp + 0x90]
setne cl
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x16], 0
mov ebx, edi
sete cl
mov byte [eax + 0x17], cl
jmp case.0x471e9a.17
mov edx, dword [edi + 8]
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x28]
push 1
push 0xffffffffffffffff
push edx
call fcn.00471a70
add esp, 0xc
mov dword [esp + 0x78], eax
test eax, eax
je 0x472388
mov ecx, dword [esp + 0x2c]
mov ebx, 1
mov byte [eax + 0x14], bl
mov eax, dword [esp + 0x78]
add eax, 0x20
push eax
push 0x1f4
push ebx
mov eax, 0x41e
xor edx, edx
call fcn.004adbb0
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
jne 0x474681
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x20]
push ebx
push edx
call fcn.00463e10
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x474681
mov edi, dword [esp + 0x38]
cmp dword [edi + 0x10], eax
je 0x47465d
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x64]
push 2
push eax
mov eax, dword [ecx + 0x20]
call fcn.00468cc0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x474642
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
mov ecx, dword [edi + 0x10]
mov esi, dword [eax + 0x20]
push edx
mov edx, dword [esp + 0x68]
push ecx
push ebx
push edx
call fcn.00464ee0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x28]
mov dl, byte [edx + 0x49]
add esp, 0x10
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x16], 0
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp 0x4723da
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov esi, dword [eax + 0x20]
push ecx
push 0
push ebx
push ebx
call fcn.00464ee0
mov edx, dword [esp + 0x88]
add esp, 0x10
mov dword [esp + 0x24], eax
mov byte [edx + 0x16], bl
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp 0x4723da
mov edx, dword [edi + 0xc]
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x28]
push 0
push 0xffffffffffffffff
push edx
call fcn.00471a70
add esp, 0xc
mov dword [esp + 0x78], eax
test eax, eax
je 0x472388
mov cl, 1
mov byte [eax + 0x14], cl
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x78]
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x17], 0
mov ebx, edi
jmp case.0x471e9a.17
mov ebx, dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
call fcn.0046dc10
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov dword [ecx + eax*4], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x80], eax
cmp dword [eax], edx
je 0x471eaf
movzx edx, byte [edi]
mov dword [esp + 0x7c], edx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x80]
cmp byte [ecx + 0x16], 0
je 0x474909
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8]
call fcn.00471b70
mov eax, edi
call fcn.0046b860
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa8], eax
mov byte [edx + 0x11], 0
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x474892
test al, 8
jne 0x47478b
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x34], eax
jmp 0x4723da
xor esi, esi
cmp dword [esp + 0xa8], esi
jne 0x47483e
mov eax, SysReAllocString
cmp dword [esp + 0xac], eax
jne 0x47483e
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
fild qword [esp + 0x70]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x4747ce
fldz
fcomp qword [edi + 8]
fnstsw ax
test ah, 5
jp 0x47483e
fldz
mov dword [esp + 0x78], 1
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x4747fd
cmp dword [esp + 0x7c], 0x2d
jl 0x47482d
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx]
lea edi, [esp + 0x78]
call fcn.00465a70
jmp 0x474816
cmp dword [esp + 0x7c], 0x2c
jg 0x47482d
mov edx, dword [esp + 0x80]
mov esi, dword [edx]
lea edi, [esp + 0x78]
call fcn.00465aa0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
cmp dword [esp + 0x78], 0
je 0x4723da
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x34], eax
jmp 0x4723da
mov eax, dword [esp + 0x7c]
cmp eax, 0x2b
je 0x474870
cmp eax, 0x2d
je 0x474870
fild qword [esp + 0xa8]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x474894
or eax, 0xffffffff
add dword [esp + 0xa8], eax
adc dword [esp + 0xac], eax
jmp 0x474894
fild qword [esp + 0xa8]
fcomp qword [edi + 8]
fnstsw ax
test ah, 5
jp 0x474894
add dword [esp + 0xa8], 1
adc dword [esp + 0xac], esi
jmp 0x474894
xor esi, esi
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x84]
push esi
push edx
mov edx, dword [ecx]
push eax
push esi
push edx
call fcn.00465ae0
add esp, 0x18
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x476f32
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x78], esi
jne 0x47499c
mov eax, dword [esp + 0x80]
mov byte [eax + 0x11], 1
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0xc], eax
jmp 0x47499c
mov edx, dword [edi + 0x10]
mov dword [esp + 0xa0], edx
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
dec eax
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x8c], dx
mov word [esp + 0x8e], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea esi, [eax + edx*8]
mov edx, 0x4000
mov dword [esp + 0x98], esi
test word [esi + 0x1c], dx
je 0x474966
call fcn.0046b550
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x78]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x98]
push edx
push eax
call fcn.00465ae0
add esp, 0x18
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x11], al
xor esi, esi
mov edx, dword [esp + 0x80]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x80]
mov dword [eax + 0x44], esi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
cmp ecx, 0x2d
jl 0x474a02
cmp eax, esi
jl 0x4749d2
jne 0x4749c9
cmp ecx, 0x2e
je 0x4749d2
mov dword [esp + 0x78], esi
jmp 0x4723da
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.00465ed0
add esp, 8
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x476f32
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x11], 0
jmp 0x474a53
cmp eax, esi
jg 0x474a25
jne 0x474a0d
cmp ecx, 0x2b
je 0x474a25
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x78], ecx
jmp 0x474a53
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
lea edx, [esp + 0x78]
push edx
push ecx
call fcn.00466070
add esp, 8
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x476f32
mov edx, dword [esp + 0x80]
mov byte [edx + 0x11], 0
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x78], esi
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
cmp dword [eax], edx
je case.0x471e9a.17
mov byte [eax + 0x14], 0
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
call fcn.0046b860
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 0x1c], edx
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x15], 1
jmp case.0x471e9a.17
mov ecx, dword [ebx + 0x34]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x7c], eax
cmp dword [eax], 0
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
je 0x474bdc
cmp dword [edi + 0x10], 0
jle 0x474b23
mov edx, dword [eax + 0x28]
mov dword [esp + 0x88], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x8c], cx
mov edx, 0x10
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], esi
mov word [esp + 0x8e], dx
mov dword [esp + 0x84], ecx
jmp 0x474b6f
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x474b37
call fcn.0046b550
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov eax, dword [eax + 0x28]
push ecx
push edx
push eax
mov edx, 0x97
lea eax, [esp + 0xac]
call fcn.0046f1a0
add esp, 0xc
mov dword [esp + 0x84], eax
test eax, eax
je 0x472388
or word [eax + 6], 0x10
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00465ae0
add esp, 0x18
cmp dword [edi + 0x10], 0
mov dword [esp + 0x24], eax
jne 0x474baa
mov ebx, dword [esp + 0x84]
call fcn.0046f330
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x24], 0
jne case.0x471e9a.17
mov edx, dword [esp + 0x7c]
xor ecx, ecx
cmp dword [esp + 0x80], ecx
sete cl
mov dword [esp + 0x78], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x44], 0
mov edx, dword [esp + 0x78]
cmp byte [edi], 0x31
jne 0x474bf6
test edx, edx
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
test edx, edx
jne case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x88], ecx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x7c], eax
xor ecx, ecx
mov dword [eax + 0x40], ecx
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x44], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x28]
mov cx, word [edx + 6]
xor edx, edx
xor eax, eax
cmp dx, cx
mov edx, dword [esp + 0x88]
mov word [esp + 0x84], cx
mov word [esp + 0x78], ax
jae 0x474c93
movzx ebx, ax
lea ebx, [ebx + ebx*4]
test byte [edx + ebx*8 + 0x1c], 1
jne 0x474d58
inc ax
mov word [esp + 0x78], ax
cmp ax, cx
jb 0x474c72
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x80], 0
je case.0x471e9a.17
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x90], ecx
inc eax
mov ecx, 0x20
mov word [esp + 0x94], ax
mov word [esp + 0x96], cx
mov dword [esp + 0xa0], edx
call fcn.0046ba10
mov ecx, dword [esp + 0x7c]
mov edx, dword [esi]
add ecx, 0x40
push ecx
push 0
mov dword [esp + 0xb0], edx
mov eax, dword [esi + 4]
push 0
push 0
lea edx, [esp + 0xa0]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x90]
push edx
push eax
call fcn.00465ae0
add esp, 0x18
test byte [esp + 0x96], 0x20
mov dword [esp + 0x24], eax
jne 0x471eaf
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0xa8]
jne 0x474d47
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [esp + 0xac]
je 0x471eaf
mov dword [esi], eax
mov edx, dword [esp + 0x9c]
mov dword [esi + 4], edx
jmp case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x80], 0
jmp 0x4723da
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x78], ecx
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x474e40
mov dword [esp + 0x80], 0
mov ecx, dword [esi]
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 4]
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x90]
push 0
push edx
push ecx
push 0
push eax
call fcn.00465ae0
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov dword [ecx + 8], eax
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x90]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x90]
add esp, 0x18
cmp dword [esp + 0x80], 0
sete cl
mov byte [edx + 0x11], cl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x44], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x474e34
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x40], eax
jmp case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov dword [ecx + 0x40], 0
jmp case.0x471e9a.17
mov ecx, dword [ebx + 0x34]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x30]
mov dword [esi], ecx
mov eax, dword [eax + 0x34]
mov dword [esi + 4], eax
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], edx
jmp case.0x471e9a.17
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], edx
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x80], eax
cmp dword [eax], edx
je 0x475155
mov dword [esp + 0x88], edx
cmp byte [eax + 0x13], 0
jne 0x47505d
mov ecx, eax
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [ecx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [esp + 0x7c], ecx
jne 0x474f61
mov eax, dword [esp + 0x80]
mov esi, dword [eax]
lea edi, [esp + 0x84]
call fcn.00465aa0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
cmp dword [esp + 0x84], eax
je 0x474f04
mov eax, 1
xor ecx, ecx
jmp 0x474f51
mov edx, dword [esp + 0x80]
mov esi, dword [edx]
lea ecx, [esp + 0x78]
push ecx
call fcn.00465050
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x7c]
add esp, 4
cmp eax, 0xffffffff
jne 0x474f4b
cmp ecx, 0x7fffffff
jne 0x474f4b
mov eax, dword [esp + 0x80]
mov byte [eax + 0x13], 1
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
jmp 0x474f59
add eax, 1
adc ecx, 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], eax
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x47501e
mov ecx, dword [ebx + 0xd4]
test ecx, ecx
je 0x474fa2
mov dword [esp + 0x90], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x474f94
mov ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x474f84
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x474fac
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x30]
lea esi, [edx + ecx*8]
mov dword [esp + 0x8c], esi
call fcn.0046ba10
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x474fd5
cmp ecx, 0x7fffffff
je 0x476f20
mov esi, dword [esp + 0x80]
cmp byte [esi + 0x13], 0
jne 0x476f20
add eax, 1
adc ecx, 0
cmp dword [esp + 0x7c], ecx
jg 0x475002
jl 0x474ffa
cmp dword [esp + 0x78], eax
jae 0x475002
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x78]
mov dword [edx], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
cmp ecx, 0x7fffffff
jg 0x475035
jl 0x47502d
cmp eax, 0xffffffff
jae 0x475035
add eax, 1
adc ecx, 0
jmp 0x475039
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x88]
mov esi, dword [eax]
call fcn.00464f30
mov eax, dword [esp + 0x88]
add esp, 8
cmp byte [eax + 0x13], 0
je 0x475129
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x34]
xor ecx, ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x88], ecx
xor esi, esi
cmp ecx, esi
jne 0x4750a2
mov edx, dword [esp + 0x78]
mov eax, edx
and eax, 0xffffff
xor ecx, ecx
cmp eax, edx
jne 0x4750a2
cmp ecx, dword [esp + 0x7c]
jne 0x4750a2
add edx, 1
adc dword [esp + 0x7c], esi
mov dword [esp + 0x78], edx
jmp 0x4750c7
lea eax, [esp + 0x78]
push eax
push 8
call fcn.00458b00
add esp, 8
cmp dword [esp + 0x88], 5
jge 0x4750c7
and dword [esp + 0x78], 0xffffff
mov dword [esp + 0x7c], esi
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push esi
push edx
mov edx, dword [ecx]
push eax
push esi
push edx
call fcn.00465ae0
mov ecx, dword [esp + 0xa0]
inc ecx
add esp, 0x18
mov dword [esp + 0x24], eax
mov dword [esp + 0x88], ecx
cmp ecx, 0x64
jge 0x475118
cmp eax, esi
jne 0x475129
cmp dword [esp + 0x84], esi
je 0x47507a
jmp 0x475129
cmp eax, esi
jne 0x475129
cmp dword [esp + 0x84], esi
je 0x476f2a
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0x80]
mov dword [edx + 0x44], 0
mov eax, dword [esp + 0x78]
mov dword [esi], eax
mov ecx, dword [esp + 0x7c]
mov dword [esi + 4], ecx
jmp case.0x471e9a.17
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x30]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [esp + 0x78], eax
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x88], edx
cmp byte [edi], 0x36
mov eax, dword [edi + 0xc]
jne 0x4751a8
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x7c], eax
mov esi, dword [eax]
mov dword [esp + 0x80], esi
mov edx, dword [eax + 4]
jmp 0x4751b2
cdq
mov esi, eax
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edx
xor edx, edx
test byte [edi + 3], 1
je 0x4751c4
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x4751d7
mov dword [ecx + 0x30], esi
mov eax, dword [esp + 0x84]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x78]
test byte [eax + 0x1c], 1
je 0x4751ef
mov dword [eax + 0x14], edx
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x78]
test byte [edi + 3], 0x10
je 0x475208
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + 0x40]
mov dword [esp + 0x90], ecx
jmp 0x47520f
mov dword [esp + 0x90], edx
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x47521c
mov edx, dword [eax]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8c], edx
mov esi, dword [eax]
push 0
push 0
call fcn.00464f30
movzx ecx, byte [edi + 3]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
and ecx, 8
push ecx
mov ecx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [esp + 0xac]
push ecx
mov ecx, dword [edx]
push 0
call fcn.004685f0
mov ecx, dword [esp + 0xac]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0xac]
mov byte [edx + 0x15], 0
mov ecx, dword [esp + 0xac]
add esp, 0x24
mov dword [esp + 0x24], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne case.0x471e9a.17
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0xb8], eax
je case.0x471e9a.17
cmp dword [edi + 0x10], eax
je case.0x471e9a.17
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
add edx, edx
mov esi, dword [eax + edx*8]
mov dword [esp + 0x94], esi
mov edx, dword [edi + 0x10]
mov dword [esp + 0x98], edx
mov al, byte [edi + 3]
mov edi, dword [esp + 0x84]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x84]
neg eax
sbb eax, eax
push edi
push edx
and eax, 5
add eax, 0x12
mov dword [esp + 0xa8], eax
mov edx, dword [ecx + 0xb4]
push esi
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp case.0x471e9a.17
mov esi, dword [ebx + 0x34]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov eax, dword [edi + 4]
mov esi, dword [esi + eax*4]
mov dword [esp + 0x80], esi
cmp dword [ecx + 0xb8], edx
je 0x475364
cmp dword [edi + 0x10], edx
je 0x475364
mov ecx, dword [esi + 8]
mov dword [esp + 0x78], ecx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x7c], edx
call fcn.0046ed20
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f36
push eax
push eax
mov eax, dword [esp + 0x88]
mov esi, dword [eax]
call fcn.00464f30
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx]
add esp, 8
call fcn.004687e0
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov dword [edx + 0x44], 0
test eax, eax
jne 0x4753ed
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x4753ed
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4753ed
mov esi, dword [esp + 0x7c]
push esi
mov esi, dword [esp + 0x7c]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 4]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x471e9a.17
inc dword [ebx + 0x6c]
jmp case.0x471e9a.17
mov eax, dword [ebx + 0x6c]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [ebx + 0x6c], edx
jmp case.0x471e9a.17
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov esi, dword [ecx + eax*4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x78], esi
mov edx, dword [esi]
mov dword [esp + 0x7c], edx
call fcn.0046ed20
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f36
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x17], 0
mov esi, dword [esp + 0x7c]
je 0x475494
lea ecx, [esp + 0x88]
push ecx
call fcn.00465050
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x48]
cdq
add esp, 4
cmp dword [esp + 0x8c], edx
jg 0x472aac
mov ecx, dword [esp + 0x88]
jl 0x475489
cmp ecx, eax
ja 0x472aac
mov eax, ecx
mov dword [esp + 0x80], eax
jmp 0x4754b8
lea edx, [esp + 0x80]
push edx
call fcn.004650d0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x30]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x472aac
mov edi, dword [esp + 0x3c]
push 0
push eax
push edi
call fcn.0046b3b0
add esp, 0xc
test eax, eax
jne 0x472388
mov ax, word [edi + 0x1c]
mov edx, dword [esp + 0x80]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [edi + 0x18], edx
mov word [edi + 0x1c], ax
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x17], 0
je 0x475521
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x7c]
push 0
push eax
mov eax, dword [esp + 0x88]
push eax
push 0
call fcn.004652d0
mov dword [esp + 0x34], eax
add esp, 0x10
mov byte [edi + 0x1f], 1
jmp case.0x471e9a.17
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push ecx
push edx
push 0
push eax
call fcn.004655f0
mov dword [esp + 0x34], eax
add esp, 0x10
mov byte [edi + 0x1f], 1
jmp case.0x471e9a.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x78], esi
cmp byte [esi + 0x14], 0
je 0x47556e
mov ecx, dword [esp + 0x3c]
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x471e9a.17
cmp byte [esi + 0x15], 0
je 0x47558d
mov edx, dword [esi + 0x18]
mov dword [esp + 0x80], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x84], eax
jmp 0x47562b
cmp dword [esi + 0x38], 0
je 0x4755e4
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
mov dword [esp + 0x88], eax
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov ecx, dword [esi + 0x38]
lea edx, [esp + 0x80]
push edx
mov edx, dword [eax + 0x30]
push ecx
call edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x5c]
push eax
push ecx
call fcn.00457150
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 8]
mov dword [ebx + 0x5c], edx
add esp, 0x10
mov dword [eax + 8], 0
jmp 0x47562b
call fcn.0046ed20
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f36
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x11], 0
je 0x475615
mov ecx, dword [eax + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x84], edx
jmp 0x47562b
mov esi, dword [eax]
lea ecx, [esp + 0x80]
push ecx
call fcn.00465050
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
mov dword [eax], edx
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], ecx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x78]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx]
cmp esi, edx
je case.0x471e9a.17
call fcn.00461f20
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
mov esi, dword [eax]
mov dword [esp + 0x7c], esi
cmp esi, edx
jne 0x47569c
mov dword [esp + 0x80], 1
jmp 0x4756ba
lea edi, [esp + 0x80]
call fcn.00465aa0
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
xor edx, edx
mov cl, byte [esp + 0x80]
mov byte [eax + 0x14], cl
mov eax, dword [esp + 0x78]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x11], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x44], edx
mov edi, dword [edi + 8]
cmp edi, edx
jle case.0x471e9a.17
cmp dword [esp + 0x80], edx
je case.0x471e9a.17
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
inc dword [ebx + 0xb4]
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
mov esi, dword [eax]
mov dword [esp + 0x7c], esi
cmp esi, edx
je 0x475767
lea edi, [esp + 0x80]
call fcn.00465a70
cmp dword [esp + 0x80], 0
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
sete cl
mov byte [edx + 0x12], cl
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x44], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x78]
xor edx, edx
jmp 0x475772
mov dword [esp + 0x80], 1
mov cl, byte [esp + 0x80]
mov byte [eax + 0x14], cl
cmp dword [esp + 0x80], edx
je case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [ecx + 0xd8]
test eax, eax
jne 0x476f7b
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
cmp eax, edx
je case.0x471e9a.17
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
cmp ecx, edx
jne 0x4757cc
mov byte [eax + 0x14], 1
jmp case.0x471e9a.17
mov dword [esp + 0x80], 1
cmp byte [edi], 0x42
jne 0x4757ec
lea edx, [esp + 0x80]
push edx
push ecx
call fcn.00465ed0
jmp 0x4757fa
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00466070
mov ecx, dword [esp + 0x80]
mov dl, byte [esp + 0x88]
mov byte [ecx + 0x14], dl
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x80]
add esp, 8
mov dword [eax + 0x44], 0
cmp dword [esp + 0x80], 0
jne 0x47584a
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x34], eax
mov al, byte [edi + 3]
test al, al
je 0x47584a
movzx ecx, al
inc dword [ebx + ecx*4 + 0xac]
lea eax, [ebx + ecx*4 + 0xac]
mov edx, dword [esp + 0x78]
mov byte [edx + 0x11], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx]
mov dword [esp + 0x7c], ecx
test ecx, ecx
je case.0x471e9a.17
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4758a3
call fcn.0046b550
mov dword [esp + 0x24], eax
test eax, eax
jne case.0x471e9a.17
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x80], eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x84], esi
test byte [edi + 3], 0x10
je 0x4758c2
mov esi, dword [edx + 0x40]
jmp 0x4758c4
xor esi, esi
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
cdq
push 0x529c65
push edx
push eax
mov eax, dword [esp + 0x9c]
push eax
mov eax, esi
call fcn.004685f0
mov ecx, dword [esp + 0x94]
add esp, 0x1c
mov dword [esp + 0x24], eax
mov dword [ecx + 0x44], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
cmp ecx, edx
je case.0x471e9a.17
mov edx, dword [eax + 0x28]
mov dword [esp + 0x88], edx
mov ax, word [edi + 0xc]
xor edx, edx
mov word [esp + 0x8c], ax
mov word [esp + 0x8e], dx
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x30]
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x80]
push edx
push 0
push 0
mov dword [esp + 0xa4], eax
push 0
lea eax, [esp + 0x98]
push eax
push ecx
call fcn.00465ae0
add esp, 0x18
mov dword [esp + 0x24], eax
test eax, eax
jne 0x475989
cmp dword [esp + 0x80], eax
jne 0x475989
mov eax, dword [esp + 0x7c]
call fcn.004687e0
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x44], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x7c], eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov ecx, 1
mov word [esi + 0x1c], cx
cmp dword [esp + 0x78], edx
je case.0x471e9a.17
mov esi, dword [esp + 0x7c]
call fcn.0046ed20
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
mov edx, dword [esp + 0x7c]
cmp byte [edx + 0x14], al
jne case.0x471e9a.17
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x7c]
call fcn.0046f650
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x476f32
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
mov edx, dword [esp + 0x84]
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 0x1c], cx
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x78], eax
cmp dword [eax], edx
je case.0x471e9a.17
mov edx, dword [eax + 0x28]
mov dword [esp + 0x80], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x84], cx
cmp byte [edi + 3], 0
je 0x475a66
mov edx, 0xc
mov word [esp + 0x86], dx
jmp 0x475a73
mov ecx, 4
mov word [esp + 0x86], cx
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x90], edx
push ecx
lea edx, [esp + 0x84]
push edx
mov edi, eax
call fcn.0046f7f0
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
add esp, 8
cmp byte [eax], 0x48
jne 0x475ab6
neg ecx
jmp 0x475ab7
inc ecx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
test ecx, ecx
jle case.0x471e9a.17
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x34], eax
jmp case.0x471e9a.17
mov dword [esp + 0x7c], edx
mov eax, dword [ecx + 0x88]
mov dword [esp + 0x80], eax
cmp eax, edx
je 0x475b16
lea esp, [esp]
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x475b08
cmp byte [eax + 0x65], 2
jae 0x475b08
cmp dword [eax + 0x54], edx
jl 0x475b08
inc dword [esp + 0x7c]
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
cmp eax, edx
jne 0x475af0
mov eax, 1
mov word [esi + 0x1c], ax
cmp dword [esp + 0x7c], eax
jle 0x475b36
mov dword [esp + 0x24], 6
mov byte [ebx + 0x38], 2
jmp case.0x471e9a.17
mov eax, dword [edi + 0xc]
mov dword [esp + 0x84], eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.00469170
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x80]
cdq
add esp, 8
mov dword [esp + 0x24], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne case.0x471e9a.17
mov edx, dword [esp + 0x78]
test edx, edx
je case.0x471e9a.17
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [ecx + 8]
call fcn.00485180
mov byte [esp + 0x4b], 1
jmp 0x4723da
mov dword [esp + 0x78], 0
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
neg edx
sbb edx, edx
lea eax, [esp + 0x78]
and edx, eax
mov eax, dword [esp + 0x2c]
push edx
mov edx, dword [edi + 8]
push ecx
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
call fcn.00468eb0
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [esp + 0x24], eax
je case.0x471e9a.17
mov eax, dword [esp + 0x78]
add dword [ebx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x471e9a.17
mov ecx, dword [esp + 0x30]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x471e9a.17
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x78], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [edx + 8]
xor ecx, ecx
mov dword [esp + 0x80], eax
cmp byte [edi], 0x61
setne cl
dec ecx
and ecx, 3
add ecx, 2
mov dword [esp + 0x7c], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x7c]
push ecx
call fcn.00468cc0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x80]
cdq
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x471e9a.17
mov edx, dword [edi + 4]
mov esi, dword [esp + 0x2c]
push esi
mov dword [esp + 0x7c], edx
call fcn.004618c0
mov eax, dword [esp + 0x7c]
add esp, 4
cmp dword [edi + 8], 0
jne 0x475ca1
mov edx, dword [esi + 8]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
test byte [ecx + 0x4a], 1
je 0x475d57
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x475cb0
mov ecx, str.sqlite_master
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], esi
mov edx, dword [edi + 4]
mov dword [esp + 0x88], edx
add ebx, 0x5c
mov dword [esp + 0x8c], ebx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [esi + 8]
add eax, eax
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00458710
add esp, 0x14
mov dword [esp + 0x80], eax
test eax, eax
jne 0x475d00
mov dword [esp + 0x24], 7
jmp 0x475d57
push 0
lea eax, [esp + 0x88]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x88]
push fcn.00494dc0
push ecx
push esi
mov dword [esp + 0xa4], 0
call fcn.00492110
add esp, 0x14
mov dword [esp + 0x24], eax
test eax, eax
jne 0x475d42
mov edx, dword [esp + 0x90]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x80]
push eax
push esi
call fcn.00457150
add esp, 8
mov byte [esi + 0x7c], 0
mov ebx, esi
call fcn.004619a0
cmp dword [esp + 0x24], 7
je 0x472388
jmp 0x4723da
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x2c]
call fcn.00481960
mov dword [esp + 0x24], eax
jmp 0x4723da
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.00483730
add esp, 4
jmp case.0x471e9a.17
mov edx, dword [esp + 0x2c]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.004831d0
add esp, 4
jmp case.0x471e9a.17
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0049f250
add esp, 4
jmp case.0x471e9a.17
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x2c]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x78], eax
call fcn.00457350
mov dword [esp + 0x7c], eax
test eax, eax
je 0x472388
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
lea edx, [esi + ecx*8]
mov dword [esp + 0x8c], edx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
xor ecx, ecx
mov dword [esp + 0x80], ecx
cmp dword [esp + 0x78], ecx
jle 0x475e52
lea ebx, [ebx]
lea edx, [ecx + ecx*4]
lea eax, [esi + edx*8]
call fcn.0046b860
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x80]
inc ecx
mov dword [esp + 0x80], ecx
cmp ecx, dword [esp + 0x78]
jl 0x475e20
mov eax, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x84]
push eax
mov eax, dword [esp + 0x7c]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [esp + 0x34]
push eax
mov eax, dword [edi + 8]
add edx, edx
push ecx
mov ecx, dword [eax + edx*8 + 4]
call fcn.0046a060
mov ecx, dword [esp + 0x8c]
push ecx
push edi
mov dword [esp + 0xa0], eax
call fcn.00457150
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa4]
cdq
sub dword [ecx], eax
mov eax, dword [esp + 0xa4]
push esi
sbb dword [eax + 4], edx
call fcn.0046bb00
add esp, 0x1c
cmp dword [esp + 0x84], 0
je 0x475ef2
mov eax, dword [esp + 0x88]
test eax, eax
je 0x472388
push 1
push eax
mov eax, fcn.004570d0
or ecx, 0xffffffff
mov edx, esi
call fcn.0046bdb0
add esp, 8
movzx ecx, byte [esp + 0x47]
mov eax, esi
call fcn.0046b380
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
test byte [eax + edx*8 + 0x1c], 0x20
lea esi, [eax + edx*8]
lea ecx, [edi + edi*4]
lea ebx, [eax + ecx*8]
jne 0x475f31
mov edi, esi
call fcn.0046bc10
test byte [esi + 0x1c], 0x20
je 0x472388
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov edi, dword [esi]
push edx
push eax
call fcn.0045d6a0
jmp 0x4723d7
mov ecx, dword [ecx + 0xd8]
test ecx, ecx
jne 0x476f7b
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
test byte [eax + edx*8 + 0x1c], 0x20
lea eax, [eax + edx*8]
mov dword [esp + 0x38], eax
je 0x475fa3
mov ecx, eax
mov eax, dword [ecx]
lea esi, [esp + 0x78]
call fcn.0045dab0
test eax, eax
je 0x475f9f
mov edx, dword [esp + 0x7c]
mov edi, dword [edi + 0xc]
mov eax, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x34]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.0046bb50
add esp, 8
jmp case.0x471e9a.17
mov eax, dword [esp + 0x38]
push eax
call fcn.0046bb00
mov edi, dword [edi + 8]
add esp, 4
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x78], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ecx + edx*8]
jne 0x475ff5
mov edi, esi
call fcn.0046bc10
test byte [esi + 0x1c], 0x20
je 0x472388
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x38]
test eax, eax
je 0x476031
js 0x476000
and eax, 0xf
jmp 0x476005
mov eax, 0xff
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
mov ecx, dword [esi]
push edx
call fcn.0045db30
add esp, 8
mov dword [esp + 0x7c], eax
test eax, eax
je 0x47602b
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp 0x4723da
mov eax, dword [esp + 0x78]
test eax, eax
js 0x4723da
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, dword [esi]
push eax
push ecx
call fcn.0045d6a0
jmp 0x4723d7
mov esi, dword [edi + 0x10]
mov dword [esp + 0x90], esi
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea edx, [eax + edx*8]
mov dword [esp + 0x80], edx
cmp byte [edi + 3], 0
je 0x4760ab
mov eax, dword [ebx + 0xd4]
mov edi, dword [esi + 0x14]
mov dword [esp + 0x94], edi
mov dword [esp + 0x8c], eax
test eax, eax
je 0x4760ab
lea esp, [esp]
cmp dword [eax + 0x20], edi
je 0x4723da
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x476090
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ecx + 0x70]
jl 0x4760d7
mov eax, dword [esp + 0x2c]
push str.too_many_levels_of_trigger_recursion
lea esi, [ebx + 0x5c]
mov dword [esp + 0x28], 1
call fcn.00457550
add esp, 4
jmp case.0x471e9a.17
test byte [edx + 0x1c], 0x40
jne 0x47624a
mov eax, dword [esi + 8]
add eax, dword [esi + 0xc]
mov dword [esp + 0x78], eax
mov edx, dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x2c]
lea edi, [edx + ecx*2]
lea edi, [edi*4 + 0x40]
mov dword [esp + 0x7c], edi
call fcn.00457330
mov dword [esp + 0x8c], eax
test eax, eax
je 0x472388
mov eax, dword [esp + 0x80]
push eax
call fcn.0046b790
mov edx, dword [esp + 0x84]
mov ecx, 0x40
mov word [edx + 0x1c], cx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
mov dword [ecx], eax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x24], edx
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov edx, dword [eax + 0x4c]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x48]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x14], edx
mov edx, dword [eax + 0x34]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x18], edx
mov dx, word [eax + 0x32]
mov ecx, dword [esp + 0x90]
mov word [ecx + 0x1c], dx
mov edx, dword [eax + 0x14]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x90]
mov dword [eax + 0xc], edx
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0x14]
mov eax, dword [esp + 0x90]
mov dword [eax + 0x20], edx
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], eax
cmp eax, edx
je 0x476253
mov edi, edi
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x2c]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x84]
add eax, 0x28
mov dword [esp + 0x84], eax
cmp eax, dword [esp + 0x88]
jne 0x476210
mov ecx, dword [esp + 0x8c]
jmp 0x476253
mov ecx, dword [edx]
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x28]
inc dword [eax + 0xd8]
mov edx, dword [eax + 0xd4]
mov dword [ecx + 0x3c], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x30]
mov esi, dword [esp + 0x8c]
mov dword [esi + 0x30], edx
mov ecx, dword [ecx + 0x34]
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x38], ecx
mov ecx, dword [esp + 0x8c]
lea edx, [ecx + 0x18]
mov dword [eax + 0xd4], ecx
mov dword [eax + 0x4c], edx
mov dword [eax + 0x6c], 0
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x48], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
lea ecx, [ecx + ecx*4 + 5]
mov dword [esp + 0x30], edx
lea edx, [edx + ecx*8]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
mov dword [esp + 0x4c], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 0xc], ecx
mov dword [esp + 0x34], 0xffffffff
jmp 0x4723da
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x80], eax
push eax
mov ebx, esi
jmp 0x4723d2
mov eax, dword [edi + 8]
cmp dword [edi + 4], edx
cdq
je 0x476341
add dword [ecx + 0x1d8], eax
adc dword [ecx + 0x1dc], edx
jmp case.0x471e9a.17
add dword [ebx + 0xc0], eax
adc dword [ebx + 0xc4], edx
jmp case.0x471e9a.17
cmp dword [edi + 4], edx
je 0x476376
mov edx, dword [ecx + 0x1d8]
or edx, dword [ecx + 0x1dc]
jne 0x4723da
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [ebx + 0xc0]
or eax, dword [ebx + 0xc4]
jne 0x4723da
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov ecx, dword [ebx + 0xd4]
cmp ecx, edx
je 0x4763cb
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, edx
je 0x4763bd
lea ebx, [ebx]
mov ecx, eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, edx
jne 0x4763b0
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea esi, [eax + edx*8]
jmp 0x4763d8
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x78], esi
call fcn.0046ba10
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
call fcn.0046ba10
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [esp + 0x78]
cmp dword [ecx + 4], esi
jg case.0x471e9a.17
jl 0x47640f
cmp dword [ecx], eax
jae 0x4723da
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 4], esi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], edx
jl case.0x471e9a.17
jg 0x47643f
mov edx, ecx
cmp dword [edx + eax*8], 0
jbe 0x4723da
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], edx
jg case.0x471e9a.17
jl 0x47646e
mov edx, ecx
cmp dword [edx + eax*8], 0
jae 0x4723da
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne 0x4723da
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
movzx ecx, byte [edi + 3]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0x7c], eax
cmp ecx, edx
jle 0x47650d
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xc8]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x84]
call fcn.00471a40
mov eax, dword [esp + 0x7c]
add dword [esp + 0x84], 0x28
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [esp + 0x78]
jl 0x4764d9
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x80], eax
mov dword [esp + 0xb8], eax
inc dword [eax + 0x18]
xor esi, esi
mov eax, 1
mov word [esp + 0xac], ax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
test byte [eax + 3], 8
je 0x476589
mov ecx, dword [edi - 4]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x90]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xbc], esi
je 0x4765e0
lea ecx, [esp + 0x90]
push 1
push ecx
call fcn.0046c2b0
mov esi, dword [esp + 0x30]
push eax
push 0x52eff8
add esi, 0x5c
mov eax, ebx
call fcn.00457550
mov edx, dword [esp + 0xcc]
add esp, 0x10
mov dword [esp + 0x24], edx
lea eax, [esp + 0x90]
push eax
call fcn.0046b790
add esp, 4
jmp 0x4723da
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x78], ecx
mov eax, dword [edi + 0x10]
call fcn.0046b6b0
mov dword [esp + 0x24], eax
test eax, eax
je 0x476637
mov eax, dword [esp + 0x78]
push 1
push eax
call fcn.0046c2b0
push eax
mov eax, dword [esp + 0x38]
push 0x52eff8
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 0x10
movzx ecx, byte [esp + 0x47]
mov eax, dword [esp + 0x78]
call fcn.0046b380
mov ecx, dword [esp + 0x78]
call fcn.0046bca0
test eax, eax
jne 0x472aac
jmp 0x4723da
mov eax, dword [esp + 0x2c]
lea ecx, [ebx + 0x5c]
push ecx
call fcn.004a2800
add esp, 4
mov dword [esp + 0x24], eax
jmp case.0x471e9a.17
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [esp + 0x78], eax
call fcn.00464790
mov dword [esp + 0x24], eax
cmp eax, 0x65
jne case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], 0
jmp case.0x471e9a.17
cmp dword [edi + 4], edx
jne 0x4766c2
mov eax, dword [esp + 0x2c]
call fcn.0046f8b0
jmp case.0x471e9a.17
mov byte [ebx + 0x62], 1
jmp case.0x471e9a.17
mov dl, byte [edi + 0xc]
test dl, dl
jne 0x4766df
test dword [ecx + 0xc], 0x80000
jne case.0x471e9a.17
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + 8]
add eax, eax
mov esi, dword [esi + eax*8 + 4]
mov cl, dl
call fcn.0046a6b0
add esp, 4
mov dword [esp + 0x24], eax
cmp al, 6
jne case.0x471e9a.17
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x2c]
push edx
push str.database_table_is_locked:__s
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 8
jmp case.0x471e9a.17
mov edi, dword [edi + 0x10]
mov eax, dword [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x80], edi
call fcn.004a3d00
add esp, 8
cmp dword [esp + 0x78], 0
mov dword [esp + 0x24], eax
je case.0x471e9a.17
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x2c]
push ecx
push edx
call fcn.00457150
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
mov dword [ebx + 0x5c], edx
mov eax, dword [eax + 8]
add esp, 8
mov dword [eax + 8], 0
jmp case.0x471e9a.17
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
lea ecx, [ebx + 0x5c]
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.004a3840
add esp, 8
mov dword [esp + 0x24], eax
jmp case.0x471e9a.17
mov ecx, dword [esp + 0x2c]
mov byte [ebx + 0x65], 2
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.004a3af0
add esp, 4
mov dword [esp + 0x24], eax
mov byte [ebx + 0x65], 0
jmp case.0x471e9a.17
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
mov dword [esp + 0x88], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x34]
push ecx
mov esi, eax
push edx
mov dword [esp + 0x34], esi
call fcn.00457150
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 8]
add esp, 0x10
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne case.0x471e9a.17
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push esi
mov dword [eax], edx
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x2c]
push 0xffffffffffffffff
push esi
call fcn.00471a70
add esp, 0xc
mov dword [esp + 0x78], eax
test eax, eax
je 0x476864
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x38], ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x3c], ecx
mov ebx, edi
jmp case.0x471e9a.17
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
mov ebx, edi
jmp case.0x471e9a.17
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x30]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x24]
mov dword [esp + 0x84], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x88], esi
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x94], ecx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x8c], edx
mov ecx, dword [edx]
mov dword [esp + 0x90], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x80], ecx
mov ecx, dword [esi]
mov dword [esp + 0x78], ecx
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], eax
test ecx, ecx
jle 0x47694c
jmp 0x476907
mov esi, dword [esp + 0x88]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
call fcn.00471a40
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x78]
inc eax
mov dword [esp + 0x9c], eax
cmp eax, ecx
jl 0x476900
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov byte [esi + 0x65], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x8c]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [esi + 0x5c]
add esp, 0x14
push eax
push ecx
mov dword [esp + 0x2c], ebx
mov byte [esi + 0x65], 0
call fcn.00457150
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 8]
add esp, 8
mov dword [esi + 0x5c], edx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x4769ca
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x98], eax
cmp dword [esp + 0x98], 0
je 0x4769dc
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x94]
mov byte [eax + 0x14], 0
mov ebx, esi
jmp case.0x471e9a.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov esi, dword [edx + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x80], eax
cmp byte [esi + 0x14], 0
je 0x476a1f
push eax
call fcn.0046bb00
add esp, 4
jmp case.0x471e9a.17
mov edx, dword [esi + 0x38]
mov eax, dword [edx]
push 0x40
mov dword [esp + 0x7c], eax
mov eax, dword [eax]
lea ecx, [esp + 0x8c]
push 0
push ecx
mov dword [esp + 0x88], eax
call fcn.004da410
mov ebx, dword [esp + 0x8c]
add esp, 0xc
lea eax, [esp + 0x90]
call fcn.0046bd80
mov edx, dword [esp + 0xac]
and edx, 0xbf01
or edx, 1
mov word [esp + 0xac], dx
mov eax, dword [edi + 8]
mov edx, dword [esi + 0x38]
push eax
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov esi, dword [esp + 0x34]
mov edx, dword [esi + 0x5c]
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
push edx
push eax
call fcn.00457150
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
mov dword [esi + 0x5c], ecx
mov dword [eax + 8], 0
mov eax, dword [esp + 0xc4]
add esp, 8
test eax, eax
je 0x476acb
mov dword [esp + 0x24], eax
movzx ecx, byte [esp + 0x47]
lea eax, [esp + 0x90]
call fcn.0046b380
mov eax, dword [esp + 0x80]
lea ebx, [esp + 0x90]
call fcn.0046bd80
mov ecx, dword [esp + 0x80]
call fcn.0046bca0
test eax, eax
jne 0x472aac
mov ebx, esi
jmp case.0x471e9a.17
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x80], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x84], eax
cmp byte [eax + 0x14], 0
jne case.0x471e9a.17
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x7c], ecx
mov byte [ebx + 0x65], 1
mov edx, dword [eax + 0x38]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x30]
add esp, 4
push ecx
mov esi, eax
push edx
mov dword [esp + 0x2c], esi
mov byte [ebx + 0x65], 0
call fcn.00457150
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
add esp, 8
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne 0x476b9b
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x38]
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
jne case.0x471e9a.17
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x34], edi
jmp case.0x471e9a.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x5c]
push eax
push ecx
call fcn.00457150
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 8]
mov dword [ebx + 0x5c], edx
add esp, 0x10
mov dword [eax + 8], 0
jmp case.0x471e9a.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov esi, dword [eax]
mov dword [esp + 0x7c], esi
mov eax, dword [edi + 8]
mov dword [esp + 0x80], eax
cmp dword [esi + 0x34], edx
je case.0x471e9a.17
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x90], ecx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x30]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x84], 0
test eax, eax
jle 0x476cac
jmp 0x476c60
call fcn.00471a40
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x80]
inc edx
add ecx, 0x28
mov dword [esp + 0x94], ecx
mov dword [esp + 0x84], edx
cmp edx, eax
jl 0x476c60
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x88]
push edx
mov edx, dword [esp + 0x7c]
push ecx
push eax
mov eax, dword [esi + 0x34]
push edx
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x3c]
push ecx
mov esi, eax
push edx
mov dword [esp + 0x3c], esi
call fcn.00457150
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 8]
add esp, 0x18
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne 0x476d13
cmp dword [edi + 4], esi
je 0x476d13
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x34], ecx
inc dword [ebx + 0x6c]
jmp case.0x471e9a.17
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x78], edi
mov eax, dword [edx + 8]
add edi, edi
mov ecx, dword [eax + edi*8 + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
lea ebx, [esp + 0x7c]
mov dword [esp + 0x80], esi
call fcn.0045f890
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4723da
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4723da
mov edi, dword [edi + 0x10]
mov eax, edi
cmp edi, edx
jne 0x476d72
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x78], eax
cmp eax, edx
je case.0x471e9a.17
cmp dword [ecx + 0x94], edx
je case.0x471e9a.17
push ebx
mov edx, eax
call fcn.00471700
mov edi, dword [esp + 0x30]
mov ecx, dword [edi + 0x94]
mov esi, eax
mov eax, dword [edi + 0x98]
add esp, 4
push esi
push eax
call ecx
push esi
push edi
call fcn.00457150
add esp, 0x10
jmp case.0x471e9a.17
mov dword [esp + 0x24], 9
jmp 0x472acc
mov eax, dword [edi + 4]
mov dword [ebx + 0x58], eax
mov cl, byte [edi + 8]
mov eax, dword [esp + 0x34]
mov byte [ebx + 0x38], cl
mov dword [ebx + 0x54], eax
mov eax, dword [edi + 0x10]
cmp eax, edx
je 0x476e16
push eax
mov eax, dword [esp + 0x30]
push 0x52eff8
lea esi, [ebx + 0x5c]
call fcn.00457550
mov ecx, dword [edi + 0x10]
mov edx, dword [ebx + 0xb8]
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [edi + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call fcn.004589b0
add esp, 0x1c
jmp 0x476e38
cmp dword [ebx + 0x58], edx
je 0x476e38
mov edx, dword [ebx + 0xb8]
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 4]
push edx
push eax
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.004589b0
add esp, 0x10
mov eax, ebx
call fcn.0046e630
mov esi, 5
cmp eax, esi
jne 0x476ea0
mov dword [ebx + 0x58], esi
jmp 0x472b22
lea eax, [esp + 0x88]
push eax
call fcn.0046b790
add esp, 4
jmp 0x472388
mov dword [esp + 0x24], 0x14
jmp 0x476f36
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x54], ecx
mov byte [esi + 0x1c], 0
mov esi, 5
mov dword [ebx + 0x58], esi
jmp 0x472b22
cmp edi, edx
je 0x476eb2
mov esi, dword [esp + 0x2c]
call fcn.004ad3f0
mov byte [esi + 0x1c], 1
call fcn.004acd60
mov esi, dword [ebx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x472b22
push 1
mov ecx, ebx
call fcn.0046e5d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x472b22
mov dl, byte [esp + 0x78]
mov esi, dword [esp + 0x2c]
mov eax, ebx
mov byte [esi + 0x1c], dl
call fcn.0046e630
cmp eax, 5
jne 0x476e9b
mov eax, dword [esp + 0x34]
mov cl, 1
sub cl, byte [esp + 0x78]
mov dword [ebx + 0x54], eax
mov byte [esi + 0x1c], cl
mov esi, 5
mov dword [ebx + 0x58], esi
jmp 0x472b22
mov edx, dword [esp + 0x34]
mov esi, 5
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x58], esi
jmp 0x472b22
mov eax, 0xdc05
call fcn.004ae880
mov dword [esp + 0x24], eax
jmp 0x476f36
mov dword [esp + 0x24], 0xd
jmp 0x476f36
mov dword [esp + 0x24], 0xd
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 0x1e], 0
je 0x476f4a
mov dword [esp + 0x24], 7
jmp 0x476f58
cmp dword [esp + 0x24], 0xc0a
je 0x472acc
mov eax, dword [esp + 0x24]
call fcn.004ad4c0
push eax
push 0x52eff8
lea esi, [ebx + 0x5c]
mov eax, ecx
call fcn.00457550
add esp, 8
jmp 0x472acc
xor edx, edx
mov eax, 9
mov dword [esp + 0x24], eax
mov dword [ebx + 0x58], eax
mov eax, dword [str.interrupted]
cmp eax, edx
jne 0x476f95
mov eax, str.unknown_error
push eax
mov eax, dword [esp + 0x30]
push 0x52eff8
lea esi, [ebx + 0x5c]
call fcn.00457550
add esp, 8
jmp 0x472acc