Function at 0x44de50
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x324
mov eax, dword [0x46946c]
push ebx
xor eax, ebp
push esi
mov esi, ecx
mov dword [esp + 0x328], eax
push edi
mov edi, dword [esi]
mov eax, dword [edi + 4]
mov edx, dword [eax + 0x14]
mov al, byte [edx + 0x79]
xor ecx, ecx
mov byte [esp + 0x1f], al
cmp dword [esi + 0x4c], 0xbdf20da3
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x94], ecx
je 0x44deb6
mov eax, 0x15
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x7c], 7
mov ebx, dword [esi + 0x28]
mov dword [esp + 0xc], ebx
je 0x452692
mov eax, dword [esi + 0x228]
cmp eax, ecx
mov dword [esi + 0x7c], ecx
je 0x44def1
lea ecx, [esp + 0xc]
push ecx
call fcn.00417520
mov ebx, dword [esp + 0x10]
add esp, 4
mov dword [esi + 0x228], 0
xor ecx, ecx
mov byte [esi + 0x230], 0
cmp dword [edi + 0x98], ecx
mov dword [edi + 0x11c], ecx
jne 0x452656
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 0x78]
mov dword [esp + 0x28], esi
mov eax, dword [0x4696e8]
test eax, eax
je 0x44df39
mov eax, dword [0x4696f0]
test eax, eax
jle 0x44df39
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x4696cc], eax
je 0x452692
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x44dfaf
mov ecx, dword [esp + 0x94]
cmp dword [eax + 0xb0], ecx
jne 0x44dfa8
call fcn.00410790
test eax, eax
jne 0x4526c9
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0xac]
push edx
call dword [esi + 0xa8]
mov edx, eax
add esp, 4
mov eax, esi
call fcn.00410750
test eax, eax
jne 0x4526c9
test edx, edx
jne 0x4523db
mov dword [esp + 0x94], edx
inc dword [esp + 0x94]
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
movzx edi, cl
lea eax, [edi - 1]
cmp eax, 0x8d
mov dword [esp + 0x24], edi
ja case.0x44dfca.13
jmp dword [eax*4 + 0x452700]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x98]
test eax, eax
jne 0x452656
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
mov eax, dword [esp + 0x28]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x21c]
mov dword [eax + edx*4 + 0x8c], ecx
inc dword [eax + 0x21c]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
dec ecx
mov dword [esp + 0x28], ecx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x21c]
dec edx
mov dword [eax + 0x21c], edx
mov ecx, edx
mov eax, dword [eax + ecx*4 + 0x8c]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
add ebx, 0x40
mov word [ebx + 0x18], 4
mov eax, dword [edx + 4]
cdq
mov dword [ebx], eax
mov dword [esp + 0xc], ebx
mov dword [ebx + 4], edx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], ebx
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44e080
sub eax, edx
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.0041f690
mov dword [ebx], eax
mov dword [ebx + 4], edx
or byte [ebx + 0x18], 4
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xc], ebx
mov dword [ebx + 0x10], eax
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44e0c0
sub eax, esi
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.0041f710
fstp qword [ebx + 8]
movzx eax, byte [esp + 0x1f]
or byte [ebx + 0x18], 8
mov ecx, ebx
call fcn.0041f590
jmp case.0x44dfca.13
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0xc]
mov eax, edx
mov byte [esi], 0x1a
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44e100
sub eax, edi
mov dword [esi + 4], eax
cmp byte [esp + 0x1f], 1
je 0x44e18e
push 0
push 1
or edi, 0xffffffff
push edi
add ebx, 0x40
push edx
push ebx
mov dword [esp + 0x20], ebx
call fcn.0041ad50
movzx eax, byte [esp + 0x33]
add esp, 0x14
mov ecx, ebx
call fcn.0041f590
test eax, eax
jne 0x452692
mov eax, ebx
call fcn.0041f5b0
test eax, eax
jne 0x452692
xor edx, edx
mov dx, word [ebx + 0x18]
and edx, 0xffbf
or edx, 0x80
mov word [ebx + 0x18], dx
cmp dword [esi + 0x10], edi
jne 0x44e176
mov eax, dword [esi + 0xc]
push eax
call fcn.004155f0
add esp, 4
mov dword [esi + 0x10], edi
mov ecx, dword [ebx + 0x10]
mov dword [esi + 0xc], ecx
mov edx, dword [ebx + 0x14]
mov dword [esi + 4], edx
jmp case.0x44dfca.13
mov esi, dword [esp + 0x10]
mov dl, byte [esp + 0x1f]
add ebx, 0x40
mov word [ebx + 0x18], 0xa2
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 4]
mov dword [ebx + 0x14], ecx
mov dword [esp + 0xc], ebx
mov byte [ebx + 0x1b], dl
jmp case.0x44dfca.13
add ebx, 0x40
mov word [ebx + 0x18], 1
mov dword [esp + 0xc], ebx
mov dword [ebx + 0x14], 0
jmp case.0x44dfca.13
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0xc]
mov eax, edx
mov byte [esi], 0x7c
lea edi, [eax + 1]
jmp 0x44e1e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x44e1e0
sub eax, edi
shr eax, 1
test eax, eax
mov dword [esi + 4], eax
je 0x44e229
mov ebx, edx
call fcn.00419320
mov edi, eax
test edi, edi
je 0x45268e
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x10]
or ebx, 0xffffffff
cmp eax, ebx
jne 0x44e21d
mov eax, dword [esi + 0xc]
push eax
call fcn.004155f0
add esp, 4
mov dword [esi + 0x10], ebx
mov ebx, dword [esp + 0xc]
mov dword [esi + 0xc], edi
jmp case.0x44dfca.124
cmp dword [esi + 0x10], 0xffffffff
jne 0x44e238
push edx
call fcn.004155f0
add esp, 4
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x45baa4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
push 0
push 0
push ecx
add ebx, 0x40
push edx
push ebx
mov dword [esp + 0x20], ebx
call fcn.0041ad50
mov al, byte [esp + 0x33]
add esp, 0x14
mov byte [ebx + 0x1b], al
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x40]
dec eax
shl eax, 6
lea esi, [ecx + eax]
mov ecx, esi
call fcn.00412650
test eax, eax
jne 0x44e9d1
add ebx, 0x40
push 0x80
mov eax, esi
mov edx, ebx
mov dword [esp + 0x10], ebx
call fcn.00412680
add esp, 4
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
jmp 0x4523ae
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 4]
mov eax, ebx
shl ecx, 6
add ebx, 0x40
sub eax, ecx
push 0x100
mov edx, ebx
mov dword [esp + 0x10], ebx
call fcn.00412680
mov eax, dword [esi + 8]
add esp, 4
test eax, eax
je case.0x44dfca.13
test byte [ebx + 0x19], 1
je case.0x44dfca.13
push ebx
call fcn.0041ab60
add esp, 4
test eax, eax
jne 0x452692
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
shl eax, 6
mov esi, ebx
sub esi, eax
test byte [ebx + 0x19], 1
mov ecx, 0x10
lea edi, [esp + 0x2c8]
mov dword [esp + 0x2c], esi
rep movsd dword es:[edi], dword [esi]
je 0x44e345
push ebx
call fcn.0041ab60
add esp, 4
test eax, eax
jne 0x452692
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x3c], 0
jle 0x44e3c1
mov edx, dword [esp + 0x2c]
add edx, 0x40
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x40]
test byte [eax + 0x19], 1
je 0x44e37e
push eax
call fcn.0041ab60
add esp, 4
test eax, eax
jne 0x452692
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
mov ecx, 0x10
mov esi, eax
rep movsd dword es:[edi], dword [esi]
test byte [eax - 0x27], 2
je 0x44e39b
lea ecx, [eax - 0x20]
mov dword [eax - 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
add eax, 0x40
inc ecx
mov dword [esp + 0x40], eax
mov eax, dword [edx + 4]
add esi, 0x40
cmp ecx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], esi
jl 0x44e363
mov ecx, 0x10
lea esi, [esp + 0x2c8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
test byte [ebx + 0x19], 2
je case.0x44dfca.13
lea eax, [ebx + 0x20]
mov dword [ebx + 0x10], eax
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
shl edx, 6
push ebx
sub ebx, edx
call fcn.0041ad00
mov eax, dword [esp + 0x10]
add esp, 4
sub eax, 0x40
mov dword [esp + 0xc], eax
jmp 0x4523bb
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
add eax, 2
mov ecx, eax
shl ecx, 6
mov edx, ebx
sub edx, ecx
xor edi, edi
cmp eax, edi
lea esi, [edx + 0x40]
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x3c], edi
jle 0x44e4e1
mov edi, edi
mov ax, word [esi + 0x18]
test al, 1
jne 0x44e4af
test ah, 8
je 0x44e458
mov ebx, esi
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
test byte [esi + 0x18], 0x12
jne 0x44e474
movzx ebx, byte [esp + 0x1f]
call fcn.0041f620
test eax, eax
jne 0x45268e
mov ebx, dword [esp + 0xc]
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0xe0]
cdq
add ecx, eax
mov eax, dword [esp + 0x3c]
adc edi, edx
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x44]
inc eax
add esi, 0x40
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x44e440
test edi, edi
jg 0x44e4e1
jl 0x44e4af
mov eax, dword [esp + 0xe0]
test eax, eax
jae 0x44e4e1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x44e4cf
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc]
push ecx
call fcn.00417520
mov ebx, dword [esp + 0x10]
add esp, 4
add ebx, 0x40
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 1
jmp case.0x44dfca.13
mov eax, dword [esp + 0xe0]
add eax, 2
adc edi, 0
test edi, edi
jg 0x44e9d1
jl 0x44e503
cmp eax, 0x3b9aca00
ja 0x44e9d1
mov eax, dword [esp + 0xe0]
add eax, 2
call fcn.00418240
test eax, eax
mov dword [esp + 0x40], eax
je 0x452692
mov eax, dword [esp + 0x44]
test eax, eax
mov dword [esp + 0x34], 0
jle 0x44e57a
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x34]
add eax, 0x10
mov ecx, dword [eax + 4]
mov edi, dword [esp + 0x40]
mov esi, dword [eax]
mov dword [esp + 0x24], ecx
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x34]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
add edx, edi
add eax, 0x40
dec ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
jne 0x44e541
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov byte [eax + ecx], 0
mov byte [eax + ecx + 1], 0
mov esi, dword [edx + 8]
test esi, esi
jne 0x44e5b3
lea eax, [esp + 0xc]
push eax
mov eax, dword [esp + 0x48]
call fcn.00417520
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
add esp, 4
mov dl, byte [esp + 0x1f]
add ebx, 0x40
mov dword [ebx + 0x14], eax
mov word [ebx + 0x18], 0x62
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x1b], dl
mov dword [esp + 0xc], ebx
mov dword [ebx + 0x10], ecx
jmp case.0x44dfca.13
mov cx, word [ebx - 0x28]
mov dx, word [ebx + 0x18]
lea edi, [ebx - 0x40]
movzx eax, cx
movzx edx, dx
or eax, edx
test al, 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x54], eax
je 0x44e625
test byte [ebx + 0x18], 0x40
je 0x44e607
push ebx
call fcn.004171b0
add esp, 4
test byte [edi + 0x18], 0x40
mov dword [esp + 0xc], edi
je 0x44e61a
push edi
call fcn.004171b0
add esp, 4
mov word [edi + 0x18], 1
jmp 0x4523bb
and cl, byte [ebx + 0x18]
test cl, 4
je 0x44e6f7
mov edx, dword [esp + 0x34]
mov esi, dword [edx]
mov edi, dword [edx + 4]
mov edx, dword [esp + 0x24]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add edx, 0xffffffb2
cmp edx, 3
ja case.default.0x44e64b
jmp dword [edx*4 + 0x452938]
add esi, eax
adc edi, ecx
jmp 0x44e6c1
sub esi, eax
sbb edi, ecx
jmp 0x44e6c1
push ecx
push eax
push edi
push esi
call fcn.00458e80
jmp 0x44e6bd
mov edx, eax
or edx, ecx
je 0x44e7ff
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x44e68f
test esi, esi
jne 0x44e68f
cmp edi, 0x80000000
jne 0x44e68f
mov eax, 1
xor ecx, ecx
push ecx
push eax
push edi
push esi
call fcn.00458ec0
jmp 0x44e6bd
mov edx, eax
or edx, ecx
je 0x44e7ff
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x44e6b4
mov eax, 1
xor ecx, ecx
push ecx
push eax
push edi
push esi
call fcn.00459040
mov esi, eax
mov edi, edx
test byte [ebx + 0x18], 0x40
je 0x44e6d0
push ebx
call fcn.004171b0
add esp, 4
mov ebx, dword [esp + 0x34]
test byte [ebx + 0x18], 0x40
mov dword [esp + 0xc], ebx
je 0x44e6e7
push ebx
call fcn.004171b0
add esp, 4
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov word [ebx + 0x18], 4
jmp 0x4523bb
mov esi, ebx
call fcn.0041f710
fstp qword [esp + 0x48]
mov esi, edi
call fcn.0041f710
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
add eax, 0xffffffb2
cmp eax, 3
ja case.default.0x44e718
jmp dword [eax*4 + 0x452948]
fadd qword [esp + 0x48]
jmp 0x44e79c
fsub qword [esp + 0x48]
jmp 0x44e79c
fmul qword [esp + 0x48]
jmp 0x44e79c
fld qword [0x45fe10]
fld qword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44e7fd
fdiv qword [esp + 0x48]
jmp 0x44e79c
fld qword [esp + 0x48]
call fcn.00458d84
mov esi, eax
mov edi, edx
call fcn.00458d84
mov ecx, esi
or ecx, edi
je 0x44e7ff
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x44e77a
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00459040
mov edi, dword [esp + 0x34]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], edx
fild qword [esp + 0x140]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fld qword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44e7ff
test byte [ebx + 0x18], 0x40
je 0x44e7c0
push ebx
call fcn.004171b0
add esp, 4
test byte [edi + 0x18], 0x40
mov dword [esp + 0xc], edi
je 0x44e7d3
push edi
call fcn.004171b0
add esp, 4
fld qword [esp + 0x48]
mov cl, byte [esp + 0x54]
mov eax, 8
fstp qword [edi + 8]
test al, cl
mov word [edi + 0x18], ax
jne 0x4523bb
mov esi, dword [esp + 0xc]
call fcn.00412630
jmp 0x4523bb
fstp st(0)
test byte [ebx + 0x18], 0x40
je 0x44e80e
push ebx
call fcn.004171b0
add esp, 4
mov esi, dword [esp + 0x34]
test byte [esi + 0x18], 0x40
mov dword [esp + 0xc], esi
je 0x44e825
push esi
call fcn.004171b0
add esp, 4
mov word [esi + 0x18], 1
jmp 0x4523bb
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 8]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x2c]
mov ecx, esi
shl ecx, 6
mov edx, ecx
mov ecx, ebx
sub ecx, edx
add ecx, 0x40
xor edx, edx
test esi, esi
jle 0x44e862
mov dword [edi + edx*4], ecx
call fcn.00412dc0
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x44e852
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
xor edx, edx
cmp ecx, 0xfffffffb
mov ecx, dword [eax + 0xc]
jne 0x44e87c
mov dword [esp + 0x184], edx
jmp 0x44e885
mov dword [esp + 0x184], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x180], ecx
mov word [esp + 0x1a0], 1
mov dword [esp + 0x198], edx
mov dword [esp + 0x1a4], edx
mov byte [esp + 0x1cc], 0
mov dl, byte [ecx + 3]
test dl, dl
je 0x44e8bd
mov eax, dword [eax - 8]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
push edi
lea edx, [esp + 0x184]
push esi
push edx
call dword [ecx + 0x10]
mov eax, dword [esp + 0x2c]
add esp, 0xc
call fcn.00410750
test eax, eax
jne 0x4526c9
mov eax, dword [0x4696e8]
test eax, eax
je 0x44e913
mov eax, dword [0x4696f0]
test eax, eax
jle 0x44e913
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x4696cc], eax
je 0x452527
lea eax, [esp + 0xc]
push eax
mov eax, esi
call fcn.00417520
mov ebx, dword [esp + 0x188]
add esp, 4
test ebx, ebx
je 0x44e952
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
push edx
call fcn.004127e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x188]
add esp, 4
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0xfffffff9
mov al, byte [esp + 0x1cc]
test al, al
je 0x44e98c
push 0
push 1
lea eax, [esp + 0x190]
call fcn.0041f840
mov edx, dword [esp + 0x20]
add esp, 4
push eax
add edx, 0x22c
push edx
call fcn.00418360
add esp, 0xc
mov dword [esp + 0x14], 1
movzx eax, byte [esp + 0x1f]
lea ecx, [esp + 0x188]
call fcn.0041f590
mov ebx, dword [esp + 0xc]
add ebx, 0x40
lea eax, [esp + 0x188]
push eax
mov dword [esp + 0x10], ebx
mov word [ebx + 0x18], 0
call fcn.0041ad00
add esp, 4
mov ecx, ebx
call fcn.00412650
test eax, eax
je 0x4523bb
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
push 0
add edx, 0x22c
push str.string_or_blob_too_big
push edx
call fcn.00418360
mov edi, dword [esp + 0x24]
mov dword [esp + 0x20], 0x12
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [edi + 0x7c], ecx
mov esi, 1
jmp 0x4526df
mov cl, byte [ebx - 0x28]
mov dl, byte [ebx + 0x18]
lea esi, [ebx - 0x40]
or cl, dl
test cl, 1
mov dword [esp + 0x34], esi
je 0x44ea48
mov esi, 2
test byte [ebx + 0x18], 0x40
je 0x44ea30
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
dec esi
jne 0x44ea21
add ebx, 0x40
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 1
jmp 0x4523bb
call fcn.0041f690
mov esi, ebx
mov edi, eax
mov dword [esp + 0x8c], edx
call fcn.0041f690
mov ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
add eax, 0xffffffb6
cmp eax, 3
ja case.default.0x44ea6e
jmp dword [eax*4 + 0x452958]
mov eax, dword [esp + 0x8c]
and edi, ecx
and eax, edx
mov dword [esp + 0x8c], eax
jmp case.default.0x44ea6e
mov eax, dword [esp + 0x8c]
or edi, ecx
or eax, edx
mov dword [esp + 0x8c], eax
jmp case.default.0x44ea6e
mov edx, dword [esp + 0x8c]
mov eax, edi
call fcn.00458e20
jmp 0x44eabb
mov edx, dword [esp + 0x8c]
mov eax, edi
call fcn.00459010
mov edi, eax
mov dword [esp + 0x8c], edx
test byte [ebx + 0x18], 0x40
je 0x44ead3
push ebx
call fcn.004171b0
add esp, 4
mov esi, dword [esp + 0x34]
test byte [esi + 0x18], 0x40
mov dword [esp + 0xc], esi
je 0x44eaea
push esi
call fcn.004171b0
add esp, 4
mov ecx, dword [esp + 0x8c]
mov dword [esi], edi
mov dword [esi + 4], ecx
mov word [esi + 0x18], 4
jmp 0x4523bb
mov eax, ebx
call fcn.0041f790
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [ebx]
cdq
add ecx, eax
mov dword [ebx], ecx
adc dword [ebx + 4], edx
jmp case.0x44dfca.13
mov eax, ebx
call fcn.00420060
xor eax, eax
mov ax, word [ebx + 0x18]
test al, 8
mov dword [esp + 0x24], eax
je 0x44eb59
fld qword [ebx + 8]
call fcn.00458d84
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44eb59
mov eax, dword [esp + 0x24]
or eax, 4
mov word [ebx + 0x18], ax
mov ax, word [ebx + 0x18]
test al, 0xc
jne 0x44eb86
test al, 0x40
je 0x44eb6e
push ebx
call fcn.004171b0
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
sub ebx, 0x40
dec eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
test al, 4
je 0x44ebbc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x44ebaa
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x44ec27
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x44ec27
mov eax, ebx
call fcn.0041f7b0
fld qword [ebx + 8]
call fcn.00458d84
cdq
mov esi, eax
mov edi, edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
fild qword [esp + 0xd8]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 5
jp 0x44ec03
add esi, 1
adc edi, 0
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
test eax, eax
je 0x44ec27
fild qword [esp + 0xd8]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44ec27
add esi, 1
adc edi, 0
test byte [ebx + 0x18], 0x40
je 0x44ec36
push ebx
call fcn.004171b0
add esp, 4
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov eax, ebx
call fcn.00420060
xor eax, eax
mov ax, word [ebx + 0x18]
test al, 8
mov dword [esp + 0x24], eax
je 0x44ec81
fld qword [ebx + 8]
call fcn.00458d84
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44ec81
mov eax, dword [esp + 0x24]
or eax, 4
mov word [ebx + 0x18], ax
mov ax, word [ebx + 0x18]
test al, 4
jne 0x44ecc2
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 8]
test eax, eax
je 0x45253c
mov eax, dword [esi + 4]
test eax, eax
je 0x44ecb5
test byte [ebx + 0x18], 0x40
je 0x44ecae
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
test al, 0x40
je 0x44eccf
push ebx
call fcn.004171b0
add esp, 4
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
test byte [ebx + 0x18], 4
je case.0x44dfca.13
mov eax, ebx
call fcn.0041f7b0
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
jne case.0x44dfca.13
xor eax, eax
mov ax, word [ebx + 0x18]
xor ecx, ecx
mov cl, al
shr cl, 3
and ecx, 2
or ecx, eax
mov ax, cx
test al, 2
mov word [ebx + 0x18], cx
jne 0x44ed2b
test al, 0xc
je 0x44ed2b
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0xc]
call fcn.0041f620
mov ebx, esi
and byte [ebx + 0x18], 0xf3
test byte [ebx + 0x19], 8
je 0x44ed4b
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
and byte [ebx + 0x18], 0xe3
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
and byte [ebx + 0x18], 0xe3
mov dword [esp + 0x14], 0
jmp case.0x44dfca.13
mov ax, word [ebx + 0x18]
test al, 1
jne case.0x44dfca.13
test al, 0x10
jne 0x44ed8c
test al, 2
jne 0x44ed84
test al, 0xc
je 0x44ed84
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0xc]
call fcn.0041f620
mov ebx, esi
and byte [ebx + 0x18], 0xf3
or byte [ebx + 0x18], 0x10
and byte [ebx + 0x18], 0xf1
jmp case.0x44dfca.13
test byte [ebx + 0x18], 0xd
jne case.0x44dfca.13
mov eax, ebx
call fcn.0041f7d0
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
jne case.0x44dfca.13
mov eax, ebx
call fcn.0041f790
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
jne case.0x44dfca.13
mov eax, ebx
call fcn.0041f7b0
jmp case.0x44dfca.13
mov ax, word [ebx + 0x18]
mov dl, byte [ebx - 0x28]
lea edi, [ebx - 0x40]
or dl, al
test dl, 1
je 0x44ee1f
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 4]
test ch, 2
je 0x44ee93
not eax
and eax, 1
cdq
push edx
push eax
mov esi, ebx
call fcn.00417250
xor eax, eax
mov ax, word [edi + 0x18]
mov esi, edi
not eax
and eax, 1
cdq
push edx
push eax
call fcn.00417250
add esp, 0x10
mov eax, dword [esp + 0x10]
mov al, byte [eax + 4]
test al, al
mov byte [esp + 0x33], al
je 0x44ee48
mov dl, byte [esp + 0x1f]
mov ecx, edi
call fcn.00420110
mov dl, byte [esp + 0x1f]
mov al, byte [esp + 0x33]
mov ecx, ebx
call fcn.00420110
mov esi, 0x800
test word [edi + 0x18], si
je 0x44ee5e
mov ebx, edi
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
test word [ebx + 0x18], si
je 0x44ee6d
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, ebx
mov edx, edi
call fcn.00428600
movzx ecx, byte [esi]
add ecx, 0xffffffbd
cmp ecx, 4
ja case.default.0x44ee8c
jmp dword [ecx*4 + 0x452968]
mov edi, 2
test byte [ebx + 0x18], 0x40
je 0x44eea7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
dec edi
jne 0x44ee98
mov eax, dword [esi + 8]
test eax, eax
mov dword [esp + 0xc], ebx
je 0x44ea36
mov ecx, dword [esi + 4]
test ch, 1
je 0x4523bb
dec eax
mov dword [esp + 0x28], eax
jmp 0x4523bb
xor ecx, ecx
test eax, eax
sete cl
mov esi, ecx
jmp 0x44ef0e
xor edx, edx
test eax, eax
setne dl
jmp 0x44ef0c
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x44ef0e
xor edx, edx
test eax, eax
setle dl
jmp 0x44ef0c
xor ecx, ecx
test eax, eax
setg cl
mov esi, ecx
jmp 0x44ef0e
xor edx, edx
test eax, eax
setge dl
mov esi, edx
mov edi, 2
test byte [ebx + 0x18], 0x40
je 0x44ef22
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
dec edi
jne 0x44ef13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0xc], ebx
je 0x44ef49
test esi, esi
je case.0x44dfca.13
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
lea ecx, [ebx + 0x40]
mov eax, esi
cdq
mov word [ecx + 0x18], 4
mov dword [ecx], eax
mov dword [esp + 0xc], ecx
mov dword [ecx + 4], edx
jmp 0x4523bb
test byte [ebx + 0x18], 1
lea edi, [ebx - 0x40]
je 0x44ef73
mov esi, 2
jmp 0x44ef8a
mov eax, ebx
call fcn.0041f790
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
jne 0x44ef88
mov esi, 1
jmp 0x44ef8a
xor esi, esi
test byte [edi + 0x18], 1
je 0x44ef97
mov eax, 2
jmp 0x44efae
mov eax, edi
call fcn.0041f790
mov edx, dword [edi]
or edx, dword [edi + 4]
jne 0x44efac
mov eax, 1
jmp 0x44efae
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0x3d
jne 0x44efc4
lea edx, [eax + esi*2]
movzx edi, byte [esi + edx + 0x45ca60]
jmp 0x44efcf
lea eax, [eax + esi*2]
movzx edi, byte [esi + eax + 0x45ca6c]
mov esi, 2
test byte [ebx + 0x18], 0x40
je 0x44efe3
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
dec esi
jne 0x44efd4
cmp edi, 2
lea ecx, [ebx + 0x40]
mov dword [esp + 0xc], ecx
mov ebx, ecx
jne 0x44f002
mov word [ecx + 0x18], 1
jmp case.0x44dfca.13
xor eax, eax
test edi, edi
sete al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 0x18], 4
jmp case.0x44dfca.13
test byte [ebx + 0x18], 0xd
jne 0x44f027
mov eax, ebx
call fcn.0041f7d0
mov ax, word [ebx + 0x18]
test al, 8
je 0x44f068
test al, 0x40
je 0x44f03c
push ebx
call fcn.004171b0
add esp, 4
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0x55
je 0x44f055
fld qword [ebx + 8]
fcomp qword [0x45fe10]
fnstsw ax
test ah, 5
jp 0x44f05d
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov word [ebx + 0x18], 8
jmp case.0x44dfca.13
test al, 4
je case.0x44dfca.13
test al, 0x40
je 0x44f07d
push ebx
call fcn.004171b0
add esp, 4
mov edx, dword [esp + 0x10]
cmp byte [edx], 0x55
je 0x44f094
mov eax, dword [ebx + 4]
test eax, eax
jg 0x44f0a5
jl 0x44f094
cmp dword [ebx], 0
jae 0x44f0a5
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
neg eax
adc ecx, 0
neg ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
jne case.0x44dfca.13
mov eax, ebx
call fcn.0041f790
mov edx, dword [ebx]
or edx, dword [ebx + 4]
jne 0x44f0de
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
jne case.0x44dfca.13
mov eax, ebx
call fcn.0041f790
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
not eax
not ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
je 0x44f12a
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 4]
jmp 0x44f15b
mov esi, ebx
call fcn.0041f710
fld qword [0x45fe10]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44f147
mov esi, 1
jmp 0x44f149
xor esi, esi
mov edi, dword [esp + 0x10]
cmp byte [edi], 0x5a
jne 0x44f15b
xor edx, edx
test esi, esi
sete dl
mov esi, edx
test byte [ebx + 0x18], 0x40
je 0x44f16a
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
test esi, esi
mov dword [esp + 0xc], ebx
je case.0x44dfca.13
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
test byte [ebx + 0x18], 1
mov esi, dword [esp + 0x10]
je 0x44f1b2
mov eax, dword [esi + 8]
dec eax
mov dword [esp + 0x28], eax
mov eax, dword [esi + 4]
test eax, eax
jge 0x44f1b2
lea ecx, [esp + 0xc]
neg eax
push ecx
call fcn.00417520
mov ebx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
jmp 0x44f201
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x24], eax
jge 0x44f1ca
neg eax
xor edx, edx
test eax, eax
jle 0x44f1f3
mov ecx, eax
shl ecx, 6
mov edi, ecx
mov ecx, ebx
sub ecx, edi
add ecx, 0x58
mov edi, edi
test byte [ecx], 1
jne 0x44f1ef
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x44f1e0
jmp 0x44f1f3
cmp edx, eax
jl 0x44f1fb
mov ecx, dword [esi + 8]
dec ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle case.0x44dfca.13
jmp 0x4523ae
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x38]
mov ecx, dword [eax + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax + 8]
mov dword [ecx + 0x50], edx
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
add ebx, 0x40
mov word [esp + 0x248], cx
mov word [ebx + 0x18], 1
mov edx, dword [edi + 0x38]
mov esi, dword [edx + eax*4]
cmp dword [esi], ecx
mov dword [esp + 0xc], ebx
je 0x44f310
call fcn.0043b5c0
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x44fe93
mov eax, dword [esi]
mov dword [esp + 0x34], eax
mov al, byte [esi + 0x1c]
test al, al
mov dword [esp + 0x44], ecx
je 0x44f289
mov dword [esp + 0x58], ecx
jmp 0x44f2d3
mov ecx, dword [esi + 0x68]
cmp ecx, dword [edi + 0x5c]
jne 0x44f2a1
mov edx, dword [esi + 0x6c]
mov eax, dword [esi + 0x78]
mov dword [esp + 0x58], edx
mov dword [esp + 0x44], eax
jmp 0x44f2d3
mov al, byte [esi + 0x21]
test al, al
mov edi, dword [esp + 0x34]
je 0x44f2c6
lea ecx, [esp + 0x178]
push ecx
call fcn.0043a5f0
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x5c], edx
jmp 0x44f2d0
lea eax, [esp + 0x58]
push eax
call fcn.0043a670
add esp, 4
mov ecx, dword [esi + 0x50]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
test eax, eax
je case.0x44dfca.13
cmp eax, 0x3b9aca00
ja 0x44e9d1
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x68]
cmp eax, dword [ecx + 0x5c]
jne 0x44f340
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x70]
mov dword [esp + 0x64], edx
jmp 0x44f521
mov al, byte [esi + 0x1e]
test al, al
je 0x44f337
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 0x38]
mov edx, dword [esi + 0x50]
xor ecx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], edi
mov dword [esi + 0x68], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], ecx
jmp 0x44f2e2
mov dword [esp + 0x58], ecx
jmp case.0x44dfca.13
mov eax, dword [esi + 0x70]
test eax, eax
mov dword [esp + 0x40], eax
jne 0x44f366
mov eax, dword [esp + 0x2c]
shl eax, 3
call fcn.00418240
test eax, eax
mov dword [esp + 0x40], eax
mov dword [esi + 0x70], eax
je 0x452692
test edi, edi
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
lea eax, [eax + ecx*4]
mov dword [esi + 0x74], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x6c], edx
mov ecx, dword [eax + 0x5c]
mov dword [esi + 0x68], ecx
jne 0x44f3d4
mov al, byte [esi + 0x21]
test al, al
mov edi, dword [esp + 0x34]
je 0x44f3a3
lea edx, [esp + 0xb4]
push edx
call fcn.004124b0
jmp 0x44f3b0
lea eax, [esp + 0xb4]
push eax
call fcn.00412520
mov ecx, dword [esp + 0xb8]
mov edi, eax
mov eax, dword [esp + 0x5c]
add esp, 4
cmp ecx, eax
jb 0x44f3cd
mov dword [esp + 0x44], edi
mov dword [esi + 0x78], edi
jmp 0x44f3d4
mov dword [esi + 0x78], 0
movzx eax, byte [edi]
cmp eax, 0x7f
mov dword [esp + 0x38], eax
ja 0x44f3ea
mov dword [esp + 0x60], 1
jmp 0x44f3fb
lea edx, [esp + 0x38]
push edx
call fcn.004106c0
add esp, 4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x44f445
mov eax, dword [esp + 0x38]
cmp dword [esp + 0xb4], eax
jae 0x44f445
movzx ecx, byte [esi + 0x21]
mov ebx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x38]
push 0
lea eax, [esp + 0x238]
call fcn.0043af40
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4523bb
mov edi, dword [esp + 0x240]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
add edx, edi
add edi, eax
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x54], edx
jbe 0x44f4e1
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x60], edx
jmp 0x44f480
cmp edi, dword [esp + 0x54]
jae 0x44f4c8
mov edx, dword [esp + 0x38]
mov dword [eax + ecx], edx
movzx eax, byte [edi]
cmp eax, 0x7f
mov dword [ecx], eax
ja 0x44f49e
mov eax, 1
jmp 0x44f4af
mov eax, dword [esp + 0x14]
push eax
call fcn.004106c0
mov ecx, dword [esp + 0x18]
add esp, 4
add edi, eax
mov eax, dword [ecx]
call fcn.00412900
mov edx, dword [esp + 0x38]
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], edx
jmp 0x44f4cf
mov dword [eax + ecx], 0
mov edx, dword [esp + 0x60]
add ecx, 4
dec edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x60], edx
jne 0x44f480
test byte [esp + 0x248], 0x40
je 0x44f4fb
lea ecx, [esp + 0x230]
push ecx
call fcn.004171b0
add esp, 4
cmp edi, dword [esp + 0x54]
mov word [esp + 0x248], 1
ja 0x44f5e5
mov edx, dword [esp + 0x58]
cmp dword [esp + 0x38], edx
ja 0x44f5e5
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x44f591
mov eax, dword [esp + 0x44]
test eax, eax
je 0x44f53c
add ecx, eax
jmp 0x44f57a
mov edx, dword [esp + 0x3c]
mov eax, dword [edi + edx*4]
call fcn.00412900
mov ebx, eax
movzx eax, byte [esi + 0x21]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x238]
call fcn.0043af40
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4523bb
mov ecx, dword [esp + 0x240]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov eax, dword [edi + edx*4]
mov esi, ebx
call fcn.004129d0
mov al, byte [esp + 0x1f]
mov byte [ebx + 0x1b], al
jmp 0x44f5b7
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x10], 0xfffffff8
jne 0x44f5b1
mov edx, ecx
mov eax, dword [edx + 0xc]
push 0x80
mov edx, ebx
call fcn.00412680
add esp, 4
jmp 0x44f5b7
mov word [ebx + 0x18], 1
test byte [esp + 0x248], 0x40
je 0x44f5d3
xor eax, eax
mov ax, word [ebx + 0x18]
and eax, 0xfeff
or eax, 0x60
mov word [ebx + 0x18], ax
push ebx
call fcn.0041ab60
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
mov dword [esp + 0x14], 0xb
jmp case.0x44dfca.13
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 4]
xor edx, edx
xor edi, edi
test eax, eax
setl dl
mov dword [esp + 0x64], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], edx
xor edx, edx
cmp dword [esp + 0x10], edx
sete dl
lea edx, [edx + edx - 1]
imul eax, edx
mov edx, dword [esi + 8]
mov dword [esp + 0x48], edx
xor edx, edx
cmp cl, 0x38
mov ecx, dword [esi + 0xc]
sete dl
mov dword [esp + 0x7c], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov edx, eax
shl edx, 6
mov eax, ebx
sub eax, edx
movzx edx, byte [ecx + 0x235]
mov dword [esp + 0x74], eax
add eax, 0x40
cmp eax, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
ja 0x44f777
mov ecx, eax
mov eax, 0xffffffec
sub eax, ecx
mov dword [esp + 0x34], eax
mov eax, ebx
sub eax, ecx
shr eax, 6
inc eax
lea esi, [ecx + 0x18]
mov dword [esp + 0x60], eax
lea esp, [esp]
mov eax, dword [esp + 0x54]
test eax, eax
je 0x44f6cd
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
mov dl, byte [esp + 0x1f]
lea eax, [eax + esi - 4]
sar eax, 6
mov al, byte [eax + edi]
lea ecx, [esi - 0x18]
call fcn.00420110
mov edi, dword [esp + 0xa0]
mov ax, word [esi]
test al, 1
je 0x44f6dc
mov dword [esp + 0x24], 1
test ah, 8
je 0x44f6f4
mov eax, dword [esi - 4]
test eax, eax
jle 0x44f6f4
lea ebx, [esi - 0x18]
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
lea ecx, [esi - 0x18]
call fcn.00412830
mov ecx, eax
call fcn.00412900
mov dword [esp + 0x100], eax
cdq
add edi, eax
mov eax, dword [esp + 0xa4]
adc eax, edx
push 0
push ecx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], eax
call fcn.00410720
mov ecx, dword [esp + 0x40]
add ecx, eax
add esp, 8
test byte [esi + 1], 8
mov dword [esp + 0x38], ecx
je 0x44f752
mov eax, dword [esp + 0x44]
mov ecx, dword [esi - 0x18]
add eax, ecx
mov dword [esp + 0x44], eax
jmp 0x44f765
mov eax, dword [esp + 0x100]
test eax, eax
je 0x44f765
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x60]
add esi, 0x40
dec eax
mov dword [esp + 0x60], eax
jne 0x44f6a0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44f7c9
mov esi, dword [esp + 0x74]
mov eax, esi
mov dword [esp + 0x64], esi
call fcn.0041f790
xor edx, edx
mov ecx, esi
call fcn.00412830
mov ecx, eax
call fcn.00412900
mov esi, dword [esp + 0xa4]
cdq
add edi, eax
push 0
push ecx
adc esi, edx
call fcn.00410720
mov ecx, dword [esp + 0x40]
add esp, 8
add ecx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], 0
jmp 0x44f7d0
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00410720
mov ecx, eax
mov eax, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x40], eax
cdq
push edx
push eax
mov dword [esp + 0x84], ecx
call fcn.00410720
mov ecx, dword [esp + 0x84]
add esp, 0x10
cmp ecx, eax
jge 0x44f809
inc dword [esp + 0x38]
mov eax, dword [esp + 0x44]
cdq
mov ecx, eax
mov eax, dword [esp + 0x38]
sub edi, ecx
mov dword [esp + 0xf4], edx
cdq
mov dword [esp + 0xf0], ecx
sbb esi, dword [esp + 0xf4]
add edi, eax
adc esi, edx
test esi, esi
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
ja 0x44e9d1
jb 0x44f862
cmp edi, 0x3b9aca00
ja 0x44e9d1
test esi, esi
ja 0x44f86b
cmp edi, 0x20
jbe 0x44f880
mov eax, edi
call fcn.00418240
test eax, eax
mov dword [esp + 0x34], eax
je 0x452692
jmp 0x44f88b
lea edx, [esp + 0x30c]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.004104b0
mov edi, dword [esp + 0x48]
mov esi, eax
mov eax, edi
add esp, 8
cmp eax, ebx
ja 0x44f8d9
mov edx, dword [esp + 0x3c]
mov ecx, edi
call fcn.00412830
mov edx, dword [esp + 0x34]
push 0
push eax
lea ecx, [esi + edx]
call fcn.004104b0
add edi, 0x40
add esp, 8
add esi, eax
cmp edi, ebx
jbe 0x44f8b3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44f900
mov ecx, dword [esp + 0x64]
xor edx, edx
call fcn.00412830
push 0
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esi + eax]
call fcn.004104b0
add esp, 8
add esi, eax
mov edi, dword [esp + 0x40]
cmp edi, ebx
ja 0x44f939
jmp 0x44f910
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x34]
sub ecx, esi
lea eax, [esi + edx]
mov edx, dword [esp + 0x3c]
push ecx
push eax
mov eax, edi
call fcn.00412920
add edi, 0x40
add esp, 8
add esi, eax
cmp edi, ebx
jbe 0x44f910
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44f960
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x64]
sub ecx, esi
add esi, edx
push ecx
push esi
xor edx, edx
call fcn.00412920
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x44f983
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0xc]
add eax, ecx
push edx
call fcn.00417520
mov ebx, dword [esp + 0x10]
add esp, 4
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add ebx, 0x40
test ecx, ecx
mov dword [esp + 0xc], ebx
mov dword [ebx + 0x14], eax
ja 0x44f9d0
jb 0x44f9a6
cmp eax, 0x20
ja 0x44f9d0
mov ecx, dword [esp + 0xc0]
mov eax, ecx
shr ecx, 2
lea edi, [ebx + 0x20]
mov dword [ebx + 0x10], edi
lea esi, [esp + 0x30c]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [ebx + 0x18], 0x210
jmp 0x44f9e4
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x10], ecx
mov word [ebx + 0x18], 0x50
mov dword [ebx + 0x1c], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x44fa03
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
or byte [ebx + 0x19], 8
mov eax, dword [esp + 0x48]
test eax, eax
mov byte [ebx + 0x1b], 1
je case.0x44dfca.13
mov ecx, dword [esp + 0x24]
test ecx, ecx
je case.0x44dfca.13
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
jl case.0x44dfca.13
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx]
jge case.0x44dfca.13
lea edx, [eax + eax*2]
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*8 + 4]
test eax, eax
je case.0x44dfca.13
mov dl, byte [ecx + 0x14]
test dl, dl
jne case.0x44dfca.13
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x44fa73
mov dl, byte [ecx + 0xc]
test dl, dl
jne case.0x44dfca.13
call fcn.0041f460
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov dword [ecx + 0x250], 1
jmp case.0x44dfca.13
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x54], 1
mov al, byte [edi + 4]
mov cl, byte [edi + 8]
mov byte [esp + 0x33], al
jle 0x44faed
test al, al
je 0x44faed
mov dl, byte [esi + 0x14]
test dl, dl
jne 0x44faed
test cl, cl
mov eax, str.rollback
jne 0x44fac0
mov eax, str.commit
mov edx, dword [esp + 0x18]
push 0
push str._transaction___SQL_statements_in_progress
push eax
add edx, 0x22c
push str.cannot
push edx
call fcn.00418360
add esp, 0x14
mov dword [esp + 0x14], 1
jmp case.0x44dfca.13
cmp al, byte [esi + 0x14]
jne 0x452549
test al, al
jne 0x44fb0b
mov eax, str.cannot_start_a_transaction_within_a_transaction
push 0
push eax
mov eax, dword [esp + 0x20]
jmp 0x4521b0
test cl, cl
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x44fb19
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
mov eax, dword [esp + 0x20]
jmp 0x4521b0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*8 + 4]
test eax, eax
je case.0x44dfca.13
mov ecx, dword [ecx + 8]
push ecx
push eax
call fcn.0042eea0
add esp, 8
cmp eax, 5
mov dword [esp + 0x14], eax
je 0x4525ce
test eax, eax
je case.0x44dfca.13
cmp eax, 8
jne 0x44fe93
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
mov ecx, dword [ecx + 8]
jge 0x44fb89
or edx, 0xffffffff
sub edx, eax
mov eax, edx
neg ecx
lea edx, [esp + 0xf8]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
call fcn.00432150
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xfc]
cdq
add esp, 4
add ebx, 0x40
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
lea esi, [edx + eax*8]
mov eax, ebx
call fcn.0041f790
mov edi, dword [edi + 8]
mov ebx, dword [ebx]
mov eax, dword [esi + 4]
inc edi
call fcn.004321f0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 8]
test eax, eax
jne 0x44fc1a
mov eax, dword [esi + 0x14]
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov dword [eax], edx
mov eax, dword [esp + 0x20]
or dword [eax + 8], 0x10
jmp 0x44fc2b
cmp eax, 1
jne 0x44fc2b
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 0x14]
mov dl, byte [edx]
mov byte [eax + 0x78], dl
mov edx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
sub edx, 0x40
cmp eax, 1
mov dword [esp + 0xc], edx
jne 0x4523bb
mov eax, dword [esp + 0x20]
call fcn.00412be0
jmp 0x4523bb
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*8 + 4]
xor esi, esi
cmp eax, esi
je 0x44fcfb
lea ecx, [esp + 0xcc]
push ecx
mov esi, 1
call fcn.00432150
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x44dfca.13
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 8]
je case.0x44dfca.13
mov eax, dword [esp + 0x18]
push 0
add eax, 0x22c
push str.database_schema_has_changed
push eax
call fcn.00418360
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 4]
lea edx, [eax + eax*2]
mov edx, dword [ecx + edx*8 + 0x14]
mov ecx, dword [edx]
add esp, 0xc
cmp ecx, esi
je 0x44fce7
push eax
mov ebx, edi
call fcn.0042ab10
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
add esp, 4
mov eax, edi
call fcn.00412be0
mov dword [esp + 0x14], 0x11
jmp case.0x44dfca.13
mov dword [esp + 0x14], esi
mov dword [esp + 0xcc], esi
jmp 0x44fc97
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x7c], eax
mov eax, ebx
mov dword [esp + 0x48], ecx
call fcn.0041f790
mov esi, dword [ebx]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
lea edx, [esi + esi*2]
lea eax, [ecx + edx*8]
mov cl, byte [edi]
mov edx, dword [eax + 4]
sub ebx, 0x40
cmp cl, 9
mov dword [esp + 0xc], ebx
mov dword [esp + 0x74], edx
jne 0x44fd67
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x18]
mov al, byte [eax + 0x78]
cmp al, byte [ecx + 0x235]
mov dword [esp + 0x24], 1
jae 0x44fd6f
mov byte [ecx + 0x235], al
jmp 0x44fd6f
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x48]
test edi, edi
jg 0x44fd87
mov eax, ebx
call fcn.0041f790
mov edi, dword [ebx]
sub ebx, 0x40
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x18]
push esi
push ecx
call fcn.00432db0
mov esi, eax
add esp, 8
test esi, esi
je 0x45268e
mov eax, dword [esp + 0x74]
test eax, eax
mov byte [esi + 0x1c], 1
je 0x4523bb
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [esp + 0x24]
push esi
push edx
push fcn.004289c0
push ecx
push edi
push eax
call fcn.0043a480
mov edi, eax
mov eax, dword [ebx + 0x10]
add esp, 0x18
cmp eax, 0xfffffffa
mov dword [esp + 0x14], edi
jne 0x44fdfe
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x4c], ecx
inc ecx
mov dword [esi + 0x48], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [esi + 0x4c]
mov dl, byte [edx + 0x79]
mov byte [eax], dl
jmp 0x44fe0f
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x22]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
test edi, edi
je 0x44fe40
cmp edi, 5
je 0x4525fd
cmp edi, 0x10
jne 0x44fe8f
cmp dword [ebx + 0x10], 0xfffffffa
setne al
test al, al
sete cl
mov byte [esi + 0x20], al
mov byte [esi + 0x21], cl
mov dword [esp + 0x14], 0
jmp 0x4523bb
mov eax, dword [esi]
call fcn.00412610
test al, 0xf0
jne 0x44fe87
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x44fe5a
cmp ecx, 2
jne 0x44fe87
mov dl, al
and dl, 1
shr eax, 1
and al, 1
mov cl, dl
test cl, cl
mov byte [esi + 0x20], dl
mov byte [esi + 0x21], al
je 0x44fe75
cmp dword [ebx + 0x10], 0xfffffffa
je 0x44fe87
test al, al
je 0x4523bb
cmp dword [ebx + 0x10], 0xfffffffa
je 0x4523bb
mov dword [esp + 0x14], 0xb
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x22c]
add esi, 0x22c
test eax, eax
jne 0x44fee4
mov eax, dword [0x4696e8]
test eax, eax
je 0x44fecf
mov eax, dword [0x4696f0]
test eax, eax
jle 0x44fecf
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x4696cc], eax
jne 0x44fecf
mov dword [esp + 0x14], 7
mov eax, dword [esp + 0x14]
push 0
call fcn.004152d0
push eax
push esi
call fcn.00418360
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4526d6
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x7c], ecx
mov esi, 1
jmp 0x4526df
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x18]
push 0xffffffffffffffff
push eax
call fcn.00432db0
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x38], esi
je 0x45268e
mov ebx, dword [esp + 0x20]
mov byte [esi + 0x1c], 1
mov edx, dword [ebx + 8]
xor eax, eax
test dh, 0x10
lea edi, [esi + 0x30]
mov ecx, 1
je 0x44ff48
mov ecx, 3
cmp byte [ebx + 0x15], 2
jne 0x44ff53
mov eax, str.:memory:
push ecx
push edi
push ebx
push eax
call fcn.004280e0
add esp, 0x10
test eax, eax
jne 0x44ff84
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
add ebx, 0x114
mov dword [ecx + 0x2c], ebx
mov dword [edx + 0x6c], ebx
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
mov ecx, dword [edx]
mov dword [ecx + 0x44], 0x1f4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x450403
mov eax, dword [edi]
mov cl, byte [eax + 8]
mov ebx, dword [eax + 4]
xor edi, edi
cmp cl, 2
mov dword [esp + 0x48], eax
je 0x450097
mov al, byte [ebx + 0xd]
test al, al
je 0x44ffbb
mov dword [esp + 0x14], 8
jmp 0x450403
cmp byte [ebx + 0x30], 2
jne 0x44ffd0
mov dword [esp + 0x14], 5
jmp 0x450403
mov eax, dword [ebx + 8]
test eax, eax
jne 0x44ffe2
push ebx
call fcn.0042ebf0
add esp, 4
mov edi, eax
test edi, edi
jne 0x44fff2
mov al, byte [ebx + 0xd]
test al, al
je 0x450038
mov edi, 8
mov esi, ebx
call fcn.00428490
cmp edi, 5
jne 0x450067
mov al, byte [ebx + 0x30]
test al, al
jne 0x450087
mov esi, dword [ebx + 0x2c]
test esi, esi
je 0x450087
mov ecx, dword [esi]
test ecx, ecx
je 0x450087
mov eax, dword [esi + 8]
test eax, eax
jl 0x450087
push eax
mov eax, dword [esi + 4]
push eax
call ecx
add esp, 8
test eax, eax
je 0x45005e
inc dword [esi + 8]
jmp 0x44ffd0
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x48]
push 0
call fcn.00427cb0
mov edi, eax
add esp, 4
test edi, edi
jne 0x44fff2
call fcn.0042edc0
mov edi, eax
test edi, edi
jne 0x44fff2
mov byte [ebx + 0xc], al
jmp 0x44fff9
mov dword [esi + 8], 0xffffffff
jmp 0x450087
test edi, edi
jne 0x450087
mov eax, dword [esp + 0x48]
mov cl, byte [eax + 8]
test cl, cl
jne 0x450079
inc dword [ebx + 0x38]
mov byte [eax + 8], 2
cmp byte [ebx + 0x30], 2
jae 0x450087
mov byte [ebx + 0x30], 2
test edi, edi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x14], edi
jne 0x450403
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x450284
mov edx, dword [esi + 0x30]
push 2
lea ecx, [esp + 0xd8]
push ecx
push edx
call fcn.0043a9b0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne 0x45027b
mov eax, dword [edi + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 0x30]
mov esi, dword [edi + 4]
mov dword [eax], 0
mov al, byte [esi + 0xd]
test al, al
mov dword [esp + 0x7c], edi
mov dword [esp + 0x24], esi
je 0x4500fb
mov dword [esp + 0x14], 8
jmp 0x450253
mov ecx, dword [esp + 0xd4]
push ecx
xor ebx, ebx
mov eax, edi
call fcn.00431f70
add esp, 4
test eax, eax
je 0x450120
mov dword [esp + 0x14], 6
jmp 0x450253
mov eax, dword [esi + 8]
test eax, eax
jne 0x45014f
mov ebx, edi
call fcn.00439f70
test eax, eax
je 0x45013b
mov dword [esp + 0x14], eax
jmp 0x450253
mov al, byte [esi + 0xd]
test al, al
je 0x45014f
mov dword [esp + 0x14], 8
jmp 0x450253
mov eax, dword [0x4696e8]
test eax, eax
je 0x45016f
mov eax, dword [0x4696f0]
test eax, eax
jle 0x45016f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x4696cc], eax
je 0x450196
push 0x60
call dword [sym.imp.MSVCR71.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x450187
call fcn.004160b0
jmp 0x450192
mov ecx, 0x18
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jne 0x4501a9
mov edi, 7
call fcn.00428490
mov dword [esp + 0x14], edi
jmp 0x450253
mov eax, dword [esp + 0xd4]
cmp eax, 1
mov dword [ebx + 0x14], eax
jne 0x4501ce
mov esi, dword [esi]
call fcn.00411650
test eax, eax
mov esi, dword [esp + 0x24]
jne 0x4501ce
mov edi, 0x10
jmp 0x4501e6
mov ecx, dword [ebx + 0x14]
push 0
lea eax, [ebx + 0x18]
mov edi, esi
call fcn.0042eb00
mov edi, eax
add esp, 4
test edi, edi
je 0x45020a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4501f5
mov eax, dword [eax + 0x48]
call fcn.00427b20
push ebx
call dword [sym.imp.MSVCR71.dll_free]
add esp, 4
call fcn.00428490
mov dword [esp + 0x14], edi
jmp 0x450253
mov edx, fcn.004289c0
test edx, edx
mov eax, fcn.004289c0
jne 0x45021d
mov eax, 0x412430
mov ecx, dword [esp + 0x7c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], eax
mov dword [ebx], ecx
mov byte [ebx + 0x40], 1
mov eax, dword [esi + 4]
test eax, eax
mov dword [ebx + 4], eax
je 0x45023e
mov dword [eax + 8], ebx
mov edx, dword [esp + 0x38]
mov dword [esi + 4], ebx
mov byte [ebx + 0x41], 0
mov dword [edx], ebx
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x4c], eax
mov edx, dword [edx]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0x79]
mov byte [eax], dl
mov eax, dword [ecx + 0x4c]
inc eax
mov dword [ecx + 0x48], eax
mov esi, ecx
mov byte [esi + 0x20], 0
jmp 0x450403
mov edi, dword [esi + 0x30]
mov eax, dword [edi + 4]
mov dword [esi], 0
mov cl, byte [eax + 0xd]
test cl, cl
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], eax
je 0x4502ac
mov dword [esp + 0x14], 8
jmp 0x4503f9
push 1
xor ebx, ebx
mov eax, edi
call fcn.00431f70
add esp, 4
test eax, eax
je 0x4502cb
mov dword [esp + 0x14], 6
jmp 0x4503f9
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x450302
mov ebx, edi
call fcn.00439f70
test eax, eax
je 0x4502ea
mov dword [esp + 0x14], eax
jmp 0x4503f9
mov edx, dword [esp + 0x2c]
mov al, byte [edx + 0xd]
test al, al
je 0x450302
mov dword [esp + 0x14], 8
jmp 0x4503f9
mov eax, dword [0x4696e8]
test eax, eax
je 0x450322
mov eax, dword [0x4696f0]
test eax, eax
jle 0x450322
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x4696cc], eax
je 0x450349
push 0x60
call dword [sym.imp.MSVCR71.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x45033a
call fcn.004160b0
jmp 0x450345
mov ecx, 0x18
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jne 0x450360
mov esi, dword [esp + 0x2c]
mov edi, 7
call fcn.00428490
mov dword [esp + 0x14], edi
jmp 0x4503f5
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x14], 1
mov esi, dword [eax]
call fcn.00411650
test eax, eax
jne 0x45037d
mov edi, 0x10
jmp 0x45039b
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x14]
push 0
lea eax, [ebx + 0x18]
mov edi, esi
call fcn.0042eb00
mov edi, eax
xor ecx, ecx
add esp, 4
cmp edi, ecx
je 0x4503c3
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4503aa
mov eax, dword [eax + 0x48]
call fcn.00427b20
push ebx
call dword [sym.imp.MSVCR71.dll_free]
mov esi, dword [esp + 0x30]
add esp, 4
call fcn.00428490
mov dword [esp + 0x14], edi
jmp 0x4503f5
mov edx, dword [esp + 0x48]
mov dword [ebx + 0xc], 0x412430
mov dword [ebx + 0x10], ecx
mov dword [ebx], edx
mov byte [ebx + 0x40], 1
mov eax, dword [esi + 4]
cmp eax, ecx
mov dword [ebx + 4], eax
je 0x4503e4
mov dword [eax + 8], ebx
mov eax, dword [esp + 0x38]
mov dword [esi + 4], ebx
mov byte [ebx + 0x41], 0
mov dword [eax], ebx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x38]
lea ecx, [esi + 0x22]
mov byte [esi + 0x20], 1
mov dword [esi + 0x48], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov dword [esi + 0x50], eax
mov al, byte [esi + 0x20]
test al, al
sete cl
mov byte [esi + 0x21], cl
jmp 0x4523bb
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x18]
push 0xffffffffffffffff
push eax
call fcn.00432db0
add esp, 8
test eax, eax
je 0x45268e
mov cl, 1
lea edx, [eax + 0x22]
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
mov dword [eax + 0x48], edx
mov byte [eax + 0x20], cl
mov byte [eax + 0x21], 0
jmp 0x4523bb
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x48], eax
jl case.0x44dfca.13
mov edi, dword [esp + 0x18]
cmp eax, dword [edi + 0x34]
jge case.0x44dfca.13
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
push edi
call fcn.00432a20
mov edx, dword [edi + 0x38]
mov eax, dword [esp + 0x4c]
add esp, 4
mov dword [edx + eax*4], 0
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x38]
mov esi, dword [ecx + edx*4]
cmp dword [esi], 0
je 0x450605
cmp edi, 7
mov byte [esi + 0x1c], 0
je 0x4504c3
cmp edi, 0x59
je 0x4504c3
xor eax, eax
jmp 0x4504c8
mov eax, 1
mov edx, dword [esi + 0x48]
mov byte [edx], al
mov al, byte [esi + 0x20]
test al, al
je 0x450540
mov eax, ebx
call fcn.0041f790
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
jne 0x450505
cmp byte [edx], 0x81
jne 0x450505
sub ebx, 0x40
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
lea edx, [esp + 0x5c]
push edx
push 0
push ecx
push eax
mov eax, dword [esi]
push 0
push eax
call fcn.0042f960
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov ecx, dword [ebx]
mov eax, dword [esp + 0x5c]
test eax, eax
mov dword [esi + 8], ecx
mov edx, dword [ebx + 4]
sete al
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], al
jmp 0x45057a
test byte [ebx + 0x19], 8
je 0x45054f
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x14]
lea ecx, [esp + 0x5c]
push ecx
cdq
push 0
push edx
mov edx, dword [ebx + 0x10]
push eax
mov eax, dword [esi]
push edx
push eax
call fcn.0042f960
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov byte [esi + 0x19], al
mov ecx, dword [esi + 0x48]
xor eax, eax
cmp edi, 0x81
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], eax
mov byte [ecx], al
je 0x4505e6
cmp edi, 7
je 0x4505e6
cmp dword [esp + 0x5c], eax
jl 0x4505d4
mov eax, dword [esi]
lea edx, [esp + 0x5c]
push edx
push eax
call fcn.0043a840
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov byte [esi + 0x19], al
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x450605
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
test eax, eax
jle 0x450601
dec eax
mov dword [esp + 0x28], eax
jmp 0x450605
mov ecx, dword [esi]
mov al, byte [ecx + 0x41]
xor edx, edx
cmp al, 1
setne dl
mov dword [esp + 0x5c], edx
jmp 0x4505ba
cmp dword [esp + 0x5c], eax
jge 0x4505fb
mov ecx, dword [esi]
lea eax, [esp + 0x5c]
push eax
push ecx
call fcn.0043a720
jmp 0x4505a8
mov dword [esp + 0x5c], eax
jmp 0x450605
mov byte [esi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 0x38]
mov edi, dword [edx + ecx*4]
mov ecx, dword [edi]
xor esi, esi
test ecx, ecx
je 0x4506a1
test byte [ebx + 0x18], 0x12
jne 0x45065b
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0xc]
call fcn.0041f620
test eax, eax
jne 0x45268e
mov ebx, esi
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0x108]
push eax
mov eax, dword [ebx + 0x14]
cdq
push 0
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
call fcn.0042f960
add esp, 0x18
test eax, eax
jne 0x450690
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x450690
mov esi, 1
jmp 0x450692
xor esi, esi
mov eax, dword [esp + 0x10]
mov byte [edi + 0x1f], 0
mov dword [edi + 0x68], 0
mov cl, byte [eax]
cmp cl, 0x87
jne 0x4506ae
test esi, esi
je 0x4506ba
jmp 0x4506b2
test esi, esi
jne 0x4506ba
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x28], eax
cmp cl, 0x71
je case.0x44dfca.13
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 4]
mov eax, ebx
lea esi, [ebx - 0x40]
call fcn.0041f790
mov ecx, dword [ebx]
mov eax, dword [esp + 0x18]
mov edx, dword [ebx + 4]
mov dword [esp + 0x128], ecx
mov ecx, dword [eax + 0x38]
mov edi, dword [ecx + edi*4]
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0x12c], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x3c], eax
je 0x4523bb
test byte [esi + 0x18], 0x12
jne 0x45073a
movzx ebx, byte [esp + 0x1f]
call fcn.0041f620
test eax, eax
jne 0x45268e
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
call fcn.00412ba0
mov esi, dword [esi + 0x14]
mov ecx, dword [esp + 0x3c]
sub esi, eax
lea edx, [esp + 0x70]
push edx
push 0
mov eax, esi
cdq
push edx
push eax
mov eax, dword [esp + 0x34]
push eax
push ecx
mov dword [edi + 0x68], 0
call fcn.0042f960
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe8f
mov eax, dword [esp + 0x70]
test eax, eax
jge 0x4507b3
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x70]
push edx
push eax
call fcn.0043a720
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
add esp, 8
test eax, eax
je 0x4507b3
mov ebx, dword [ebx + 8]
dec ebx
mov dword [esp + 0x28], ebx
jmp 0x4523bb
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x70]
push ecx
push edx
push esi
mov esi, edi
call fcn.0043b720
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe8f
mov eax, dword [esp + 0x70]
test eax, eax
jle 0x4507e9
mov ebx, dword [ebx + 8]
dec ebx
mov dword [esp + 0x28], ebx
jmp 0x4523bb
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x148]
push eax
call fcn.0043b630
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe8f
mov ecx, dword [esp + 0x148]
cmp ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x14c]
jne 0x450836
cmp edx, dword [esp + 0x12c]
jne 0x450836
mov ebx, dword [ebx + 8]
dec ebx
mov dword [esp + 0x28], ebx
jmp 0x4523bb
mov eax, dword [esp + 0xc]
add eax, 0x40
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [esp + 0xc], eax
mov word [eax + 0x18], 4
jmp 0x4523bb
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x38]
mov esi, dword [ecx + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x4508c1
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
lea edi, [esp + 0x110]
push edi
push 0
push edx
push ecx
push 0
push eax
call fcn.0042f960
mov edx, dword [ebx]
mov dword [esp + 0x2c], eax
mov dword [esi + 8], edx
mov eax, dword [ebx + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x128]
add esp, 0x18
test eax, eax
sete cl
test eax, eax
mov byte [esi + 0x19], cl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
je 0x4508c1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec eax
mov dword [esp + 0x28], eax
mov byte [esi + 0x19], 0
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x38]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov edx, dword [edx + eax*4]
mov esi, dword [edx + 0x58]
mov dword [ebx + 0x40], esi
mov edx, dword [edx + 0x5c]
add ebx, 0x40
mov dword [ebx + 4], edx
mov ecx, dword [ecx + 0x38]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x58]
mov ecx, dword [eax + 0x5c]
add edx, 1
adc ecx, 0
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], ecx
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax]
xor esi, esi
xor edi, edi
test ecx, ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0xc], eax
je 0x450bcf
mov eax, dword [eax]
mov dword [esp + 0x3c], edi
call fcn.00412610
and al, 3
cmp al, 1
jne 0x45263c
mov eax, dword [esp + 0xc]
mov cl, byte [eax + 0x1b]
test cl, cl
jne 0x450a94
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x450985
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
jmp 0x4509ef
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
lea edi, [esp + 0x84]
call fcn.0042f930
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4509b7
mov esi, 1
xor edi, edi
jmp 0x4509ef
mov eax, dword [esp + 0xc]
mov edi, dword [eax]
lea edx, [esp + 0x68]
push edx
call fcn.0043a5f0
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
add esp, 4
cmp esi, 0xffffffff
jne 0x4509e9
cmp edi, 0x7fffffff
jne 0x4509e9
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x1b], 1
jmp 0x4509ef
add esi, 1
adc edi, 0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
test eax, eax
je 0x450a54
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x54]
shl eax, 6
add eax, edx
mov dword [esp + 0x24], eax
call fcn.0041f790
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
cmp eax, 0xffffffff
mov ecx, dword [ecx + 4]
jne 0x450a29
cmp ecx, 0x7fffffff
je 0x452649
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x1b], 0
jne 0x452649
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x450a4b
jl 0x450a47
cmp esi, eax
jae 0x450a4b
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x24]
mov dword [eax], esi
mov dword [eax + 4], edi
cmp edi, 0x7fffffff
ja 0x450a7d
jb 0x450a63
cmp esi, 0xffffffff
jae 0x450a7d
mov eax, dword [esp + 0xc]
mov ecx, esi
add ecx, 1
mov edx, edi
adc edx, 0
mov byte [eax + 0x1d], 1
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x450a85
mov eax, dword [esp + 0xc]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0xc]
mov cl, byte [eax + 0x1b]
test cl, cl
je 0x450bc0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x2c], 0
mov edi, edi
mov ecx, esi
or ecx, edi
je 0x450af8
cmp dword [esp + 0x2c], 2
jg 0x450af8
call fcn.00410f50
call fcn.004160e0
mov ecx, dword [0x4696f0]
dec ecx
push 0x4696d0
mov byte [esp + 0x37], al
mov dword [0x4696f0], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esp + 0x33]
inc eax
cdq
add esi, eax
adc edi, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
jmp 0x450b4a
lea esi, [esp + 0x68]
call fcn.00410f50
mov edi, 8
call fcn.004160e0
mov byte [esi], al
inc esi
dec edi
jne 0x450b06
mov edx, dword [0x4696f0]
dec edx
push 0x4696d0
mov dword [0x4696f0], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x2c], 5
mov esi, dword [esp + 0x68]
jge 0x450b46
and esi, 0xffffff
xor edi, edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
jmp 0x450b4a
mov edi, dword [esp + 0x6c]
mov edx, esi
or edx, edi
je 0x450b7a
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
lea eax, [esp + 0x84]
push eax
push 0
push edi
push esi
push 0
push edx
call fcn.0042f960
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
add esp, 0x18
inc eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0x3e8
jge 0x450b9b
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x450b9b
mov eax, dword [esp + 0x84]
test eax, eax
je 0x450ab0
mov eax, dword [esp + 0x20]
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x450bbc
mov eax, dword [esp + 0x84]
test eax, eax
je 0x452649
mov eax, dword [esp + 0xc]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x68], 0
add ebx, 0x40
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov edx, dword [esi]
xor eax, eax
cmp edx, eax
mov dword [esp + 0x24], esi
jne 0x450c0e
mov dl, byte [esi + 0x1e]
test dl, dl
je 0x450da8
mov edx, dword [ebx - 0x40]
mov dword [esp + 0xa8], edx
mov edx, dword [ebx - 0x3c]
mov dword [esp + 0xac], edx
test byte [edi + 8], 1
je 0x450c2e
inc dword [ecx + 0x238]
test byte [edi + 8], 2
je 0x450c44
mov edx, dword [ebx - 0x40]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x20], edx
mov edx, dword [ebx - 0x3c]
mov dword [ecx + 0x24], edx
mov cl, byte [esi + 0x1d]
test cl, cl
je 0x450c61
mov ecx, dword [ebx - 0x3c]
cmp ecx, dword [esi + 0x14]
jl 0x450c61
jg 0x450c5d
mov edx, dword [ebx - 0x40]
cmp edx, dword [esi + 0x10]
jb 0x450c61
mov byte [esi + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x450c6d
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov cl, byte [esi + 0x1e]
test cl, cl
je 0x450d0b
mov eax, dword [esi + 0x38]
push eax
call fcn.004155f0
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x34], eax
mov cl, byte [ebx + 0x18]
add esp, 4
test cl, 0x40
je 0x450cbb
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x38], eax
mov word [ebx + 0x18], 1
mov byte [esi + 0x1c], 0
jmp 0x450d43
add eax, 2
call fcn.00418240
test eax, eax
mov dword [esi + 0x38], eax
je 0x452692
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x34]
mov esi, dword [ebx + 0x10]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x38]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov ecx, dword [edx + 0x34]
mov edx, dword [edx + 0x38]
mov byte [ecx + edx + 1], 0
mov byte [esi + 0x1c], 0
jmp 0x450d43
test byte [ebx + 0x19], 8
je 0x450d13
mov eax, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [ebx + 0x14]
and ecx, 8
push ecx
mov ecx, dword [esp + 0xb0]
push eax
mov eax, dword [ebx + 0x10]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esi]
push ecx
push edx
push 0
call fcn.0043c740
add esp, 0x1c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
test eax, eax
mov byte [esi + 0x19], 0
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
jne 0x450da8
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
je 0x450da8
mov eax, dword [edi + 0xc]
test eax, eax
je 0x450da8
mov edx, dword [esp + 0xac]
mov esi, dword [esi + 4]
push edx
mov edx, dword [esp + 0xac]
push edx
push eax
lea eax, [esi + esi*2]
mov esi, dword [esp + 0x2c]
mov edx, dword [esi + 4]
mov eax, dword [edx + eax*8]
mov edx, dword [edi + 8]
and dl, 4
neg dl
push eax
mov eax, dword [esi + 0x78]
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
mov esi, 2
lea ecx, [ecx]
test byte [ebx + 0x18], 0x40
je 0x450dbf
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
dec esi
jne 0x450db0
mov dword [esp + 0xc], ebx
jmp 0x4523bb
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 0x38]
mov esi, dword [edx + ecx*4]
mov edi, dword [esi]
test edi, edi
je 0x450e9e
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x450e34
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x450e34
mov al, byte [esi + 0x19]
test al, al
je 0x450e18
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
jmp 0x450e34
lea ecx, [esp + 0xe8]
push ecx
call fcn.0043a5f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
call fcn.0043b5c0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov eax, dword [esi]
call fcn.0043c920
test eax, eax
mov dword [esp + 0x14], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
jne 0x450e9e
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x7c]
test edx, edx
je 0x450e9e
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x450e9e
mov edi, dword [esp + 0xec]
mov esi, dword [esi + 4]
push edi
mov edi, dword [esp + 0xec]
push edi
push ecx
lea ecx, [esi + esi*2]
mov esi, dword [eax + 4]
mov ecx, dword [esi + ecx*8]
mov eax, dword [eax + 0x78]
push ecx
push 9
push eax
call edx
add esp, 0x18
mov ecx, dword [esp + 0x10]
test byte [ecx + 8], 1
je case.0x44dfca.13
mov eax, dword [esp + 0x18]
inc dword [eax + 0x238]
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
test eax, eax
je 0x450edf
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x238]
mov edx, dword [ecx + 0x38]
add edx, eax
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x238], 0
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov al, byte [esi + 0x1c]
add ebx, 0x40
test al, al
mov dword [esp + 0xc], ebx
jne 0x45104c
mov edi, dword [esi]
test edi, edi
mov dword [esp + 0x24], edi
je 0x45102a
call fcn.0043b5c0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov al, byte [esi + 0x1c]
test al, al
je 0x450f46
mov word [ebx + 0x18], 1
jmp case.0x44dfca.13
mov al, byte [esi + 0x21]
test al, al
je 0x450f8a
lea eax, [esp + 0x130]
push eax
call fcn.0043a5f0
mov eax, dword [esp + 0x138]
add esp, 4
test eax, eax
jg 0x44e9d1
mov edi, dword [esp + 0x130]
jl 0x450f81
cmp edi, 0x3b9aca00
ja 0x44e9d1
mov dword [esp + 0xd0], edi
jmp 0x450fa1
lea ecx, [esp + 0xd0]
push ecx
call fcn.0043a670
mov edi, dword [esp + 0xd4]
add esp, 4
cmp edi, 0x3b9aca00
ja 0x44e9d1
cmp edi, 0x20
mov dword [ebx + 0x14], edi
ja 0x450fc3
lea edx, [ebx + 0x20]
mov word [ebx + 0x18], 0x210
mov dword [ebx + 0x10], edx
jmp 0x450fe2
mov eax, edi
call fcn.00418240
test eax, eax
je 0x452692
mov word [ebx + 0x18], 0x50
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x10], eax
mov al, byte [esi + 0x21]
test al, al
je 0x451009
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x24]
push eax
push edi
push 0
call fcn.0042f680
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1b], 1
jmp case.0x44dfca.13
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x24]
push ecx
push edi
push 0
push edx
call fcn.0043a6e0
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1b], 1
jmp case.0x44dfca.13
mov al, byte [esi + 0x1e]
test al, al
je 0x45104c
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x14], eax
mov ecx, dword [esi + 0x38]
mov dword [ebx + 0x10], ecx
mov word [ebx + 0x18], pe_nt_image_headers32
mov byte [ebx + 0x1b], 1
jmp case.0x44dfca.13
mov word [ebx + 0x18], 1
mov byte [ebx + 0x1b], 1
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
call fcn.0043b5c0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov al, byte [esi + 0x19]
add ebx, 0x40
test al, al
mov dword [esp + 0xc], ebx
je 0x4510a1
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
jmp 0x4510e5
mov al, byte [esi + 0x1e]
test al, al
je 0x4510be
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
jmp 0x4510e5
mov al, byte [esi + 0x1c]
test al, al
jne 0x4513e0
mov esi, dword [esi]
test esi, esi
je 0x4513e0
lea ecx, [esp + 0xb8]
push ecx
mov edi, esi
call fcn.0043a5f0
add esp, 4
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x45117e
lea edi, [esp + 0x124]
call fcn.0042f930
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x124]
mov byte [esi + 0x1c], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
test eax, eax
je case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x44dfca.13
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
mov byte [esi + 0x1c], 0
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
mov edi, dword [ecx + edx*4]
mov esi, dword [edi]
test esi, esi
je 0x4511f5
push esi
call fcn.0042f750
xor ecx, ecx
add esp, 4
cmp eax, ecx
jne 0x4511d3
mov al, byte [esi + 0x41]
test al, al
jne 0x4511c5
mov dword [esp + 0x80], 1
mov dword [esp + 0x14], ecx
jmp 0x4511d7
mov dword [esp + 0x80], ecx
call fcn.0042f860
xor ecx, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
cmp eax, ecx
sete dl
mov byte [edi + 0x1a], dl
mov byte [edi + 0x1f], 0
mov dword [edi + 0x68], ecx
mov byte [edi + 0x1c], al
jmp 0x45115d
mov dword [esp + 0x80], 1
mov eax, dword [esp + 0x80]
mov byte [edi + 0x1c], al
jmp 0x45115d
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x98]
test eax, eax
jne 0x452656
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [edx + 0x38]
mov esi, dword [edx + eax*4]
test esi, esi
je case.0x44dfca.13
mov eax, dword [esi]
test eax, eax
je 0x4512af
mov dl, byte [esi + 0x1c]
test dl, dl
je 0x45125f
mov dword [esp + 0x9c], 1
mov byte [esi + 0x19], 0
jmp case.0x44dfca.13
cmp cl, 0x6f
jne 0x451274
lea ecx, [esp + 0x9c]
push ecx
push eax
call fcn.0043a720
jmp 0x451282
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.0043a840
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
jne 0x4512b3
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
mov byte [esi + 0x19], 0
jmp case.0x44dfca.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi]
test edi, edi
je 0x45131a
test byte [ebx + 0x19], 8
je 0x4512ea
call fcn.0041aac0
test eax, eax
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
jne 0x45131a
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 8]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push edx
push 0
push 0
cdq
push 0x45baa4
push edx
push eax
push ecx
mov eax, edi
call fcn.0043c740
add esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esi + 0x68], 0
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi]
test esi, esi
je 0x451392
mov eax, dword [ebx + 0x14]
lea ecx, [esp + 0x104]
push ecx
cdq
push 0
push edx
mov edx, dword [ebx + 0x10]
push eax
push edx
push esi
call fcn.0042f960
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x45138b
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x45138b
mov eax, esi
call fcn.0043c920
mov dword [esp + 0x14], eax
mov dword [edi + 0x68], 0
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
add ebx, 0x40
mov word [ebx + 0x18], 1
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0xc], ebx
je case.0x44dfca.13
mov dl, byte [eax + 0x1c]
test dl, dl
je 0x4513eb
mov word [ebx + 0x18], 1
jmp case.0x44dfca.13
lea eax, [esp + 0x158]
push eax
call fcn.0043b630
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x44fe93
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov word [ebx + 0x18], 4
mov dword [ebx], ecx
mov dword [ebx + 4], edx
jmp case.0x44dfca.13
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + eax*4]
cmp dword [esi], 0
je 0x4514a9
test byte [ebx + 0x19], 8
je 0x45144e
call fcn.0041aac0
mov ebx, dword [esp + 0xc]
mov ecx, dword [edi + 0xc]
test ecx, ecx
mov ecx, dword [esi + 0x48]
setne al
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
lea edx, [esp + 0x78]
push edx
push eax
push ecx
call fcn.0043b720
mov edx, dword [esi + 0x48]
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
mov byte [edx], 0
jne case.0x44dfca.13
mov al, byte [edi]
cmp al, 0x27
jne 0x451490
mov eax, dword [esp + 0x78]
neg eax
jmp 0x451499
cmp al, 0x49
mov eax, dword [esp + 0x78]
jne 0x45149d
inc eax
mov dword [esp + 0x78], eax
test eax, eax
jle 0x4514a9
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x50]
xor ecx, ecx
test eax, eax
je 0x45150f
mov esi, 0xbdf20da3
lea ebx, [ebx]
cmp dword [eax + 0x4c], esi
jne 0x4514f6
cmp byte [eax + 0x236], 2
jae 0x4514f6
mov edi, dword [eax + 0x78]
test edi, edi
jl 0x4514f6
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x4514e0
cmp ecx, 1
jle 0x45150f
mov dword [esp + 0x14], 6
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 4]
lea eax, [esp + 0x114]
push eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
mov eax, dword [ecx + 4]
call fcn.0043cc00
mov esi, dword [esp + 0x11c]
mov ecx, eax
add ebx, 0x40
mov eax, esi
cdq
mov word [ebx + 0x18], 4
add esp, 8
test ecx, ecx
mov dword [ebx], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
mov dword [ebx + 4], edx
jne case.0x44dfca.13
test esi, esi
je case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
lea eax, [eax + edx*8]
mov edx, esi
call fcn.00413560
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [esi + edx*8 + 4]
call fcn.0043cbb0
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 4]
lea eax, [eax + eax*2]
lea esi, [edx + eax*8]
xor eax, eax
cmp cl, 0x34
mov ecx, dword [esi + 4]
setne al
dec eax
and eax, 3
add eax, 2
push eax
lea eax, [esp + 0x110]
push eax
push ecx
call fcn.0043a9b0
add ebx, 0x40
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
jne 0x4513e0
mov eax, dword [esp + 0x10c]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 8]
test ecx, ecx
mov eax, dword [edx + 4]
jne 0x451638
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 4]
lea ecx, [eax + eax*2]
mov ecx, dword [esi + ecx*8 + 0x14]
test byte [ecx + 0x7a], 1
je case.0x44dfca.13
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x451647
mov ecx, str.sqlite_master
mov edx, dword [edx + 0xc]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push edx
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x174], eax
add edi, 0x22c
lea eax, [eax + eax*2]
mov dword [esp + 0x170], esi
mov dword [esp + 0x178], edi
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.0041df10
mov esi, eax
add esp, 0x10
test esi, esi
je 0x452692
mov edi, dword [esp + 0x20]
mov eax, edi
call fcn.00410790
push 0
lea eax, [esp + 0x16c]
push eax
push fcn.0041ce30
push esi
push edi
mov byte [edi + 0x44], 1
call fcn.00452c60
add esp, 0x14
cmp eax, 4
mov dword [esp + 0x14], eax
jne 0x4516cc
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], ecx
push esi
call fcn.004155f0
add esp, 4
mov eax, edi
mov byte [edi + 0x44], 0
call fcn.00410750
cmp dword [esp + 0x14], 7
jne case.0x44dfca.13
call fcn.004160b0
jmp 0x452692
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x20]
call fcn.00420f30
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.0041bed0
add esp, 8
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.004179d0
add esp, 8
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x20]
push ecx
push edx
mov edx, dword [eax + 4]
call fcn.0041d910
add esp, 8
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x24]
xor edi, edi
cmp ebx, eax
jb 0x451789
mov eax, ebx
test byte [eax + 0x18], 4
je 0x451789
inc edi
mov edx, edi
shl edx, 6
mov eax, ebx
sub eax, edx
cmp eax, dword [ecx + 0x24]
jae 0x451774
lea eax, [edi*4 + 4]
call fcn.00418240
test eax, eax
mov dword [esp + 0x40], eax
je 0x452692
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x54]
shl esi, 6
add esi, edx
xor eax, eax
test edi, edi
jle 0x4517cd
mov ecx, dword [esp + 0x40]
mov edi, edi
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
inc eax
sub ebx, 0x40
cmp eax, edi
jl 0x4517c0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xc]
mov dword [ecx + eax*4], 0
push edx
mov eax, edi
call fcn.00417520
mov ecx, dword [esi]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x100]
push eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push edi
push edx
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*8 + 4]
add ebx, 0x40
mov dword [esp + 0x20], ebx
call fcn.0043abf0
mov ecx, dword [esp + 0x110]
mov edi, eax
mov eax, ecx
cdq
add esp, 0x14
sub dword [esi], eax
mov eax, dword [esi + 4]
sbb eax, edx
test ecx, ecx
mov dword [esi + 4], eax
jne 0x45183f
mov word [ebx + 0x18], 1
jmp 0x451860
mov eax, edi
mov dword [ebx + 0x10], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x451847
sub eax, edx
mov dword [ebx + 0x14], eax
mov word [ebx + 0x18], 0x62
mov dword [ebx + 0x1c], 0
movzx eax, byte [esp + 0x1f]
mov ecx, ebx
mov byte [ebx + 0x1b], 1
call fcn.0041f590
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004155f0
jmp 0x4523b8
mov eax, ebx
call fcn.0041f790
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov edi, dword [esp + 0x18]
push edx
push eax
add edi, 0x60
call fcn.0041aa10
add esp, 8
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x98]
test eax, eax
jne 0x452656
mov esi, dword [esp + 0x18]
add esi, 0x60
lea ecx, [esp + 0x138]
call fcn.00417070
cmp eax, 0x65
jne 0x4518e3
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
add ebx, 0x40
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [esp + 0xc], ebx
mov word [ebx + 0x18], 4
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0x6c]
cmp esi, dword [ecx + 0x70]
lea eax, [esi + 1]
mov dword [ecx + 0x6c], eax
jl 0x45193b
mov edi, dword [ecx + 0x74]
mov dword [ecx + 0x70], eax
lea eax, [esi + esi*2 + 3]
shl eax, 3
call fcn.0041ddf0
test eax, eax
mov edx, dword [esp + 0x18]
mov dword [edx + 0x74], eax
je 0x452692
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x74]
lea ecx, [esi + esi*2]
lea edx, [edx + ecx*8]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x20]
mov dword [edx], esi
mov ecx, dword [ecx + 0x24]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 0x238]
mov dword [edx + 8], ecx
add eax, 0x60
add edx, 0xc
mov ecx, eax
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x74]
dec ecx
mov dword [eax + 0x6c], ecx
lea ecx, [ecx + ecx*2]
lea esi, [edx + ecx*8]
mov edx, dword [esi]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24], edx
mov ecx, dword [esi + 8]
lea ebx, [eax + 0x60]
mov dword [eax + 0x238], ecx
call fcn.004170c0
add esi, 0xc
mov edx, dword [esi]
mov dword [ebx], edx
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
jmp 0x4523bb
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x54]
push ebx
mov ebx, dword [edx + 4]
shl ebx, 6
add ebx, esi
call fcn.0041ad00
sub dword [esp + 0x10], 0x40
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 8]
add esp, 4
test eax, eax
jne case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x54]
shl eax, 6
add ebx, 0x40
add eax, edx
push 0x100
mov edx, ebx
mov dword [esp + 0x10], ebx
call fcn.00412680
add esp, 4
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x54]
shl esi, 6
add esi, ecx
mov eax, esi
call fcn.0041f790
mov eax, ebx
call fcn.0041f790
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp edx, eax
mov ecx, dword [ebx]
jg case.0x44dfca.13
jl 0x451a76
mov edx, dword [esi]
cmp edx, ecx
jae case.0x44dfca.13
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x54]
mov eax, dword [eax + 4]
shl ecx, 6
mov esi, dword [ecx + edi]
add ecx, edi
cdq
add esi, eax
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x54]
shl eax, 6
mov esi, dword [eax + ecx + 4]
test esi, esi
jl case.0x44dfca.13
jg 0x451ad4
cmp dword [eax + ecx], 0
jbe case.0x44dfca.13
mov edx, dword [edx + 8]
dec edx
mov dword [esp + 0x28], edx
jmp case.0x44dfca.13
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x54]
shl eax, 6
mov esi, dword [eax + ecx + 4]
test esi, esi
jg case.0x44dfca.13
jl 0x451b0a
cmp dword [eax + ecx], 0
jae case.0x44dfca.13
mov edx, dword [edx + 8]
dec edx
mov dword [esp + 0x28], edx
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x54]
shl eax, 6
mov esi, dword [eax + edx]
or esi, dword [eax + edx + 4]
jne case.0x44dfca.13
mov ecx, dword [ecx + 8]
dec ecx
mov dword [esp + 0x28], ecx
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x54]
shl esi, 6
add esi, eax
call fcn.00417230
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
cdq
push edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x54]
shl esi, 6
push eax
add esi, ecx
call fcn.00417250
add esp, 8
jmp case.0x44dfca.13
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
shl edx, 6
add edx, ecx
shl ebx, 6
push edx
add ebx, ecx
call fcn.0041ad00
mov dword [esp + 0x18], eax
jmp 0x4523b8
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 8]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x2c]
mov ecx, esi
shl ecx, 6
sub ebx, ecx
add ebx, 0x40
xor edx, edx
test esi, esi
jle 0x451be2
lea ecx, [ecx]
mov ecx, ebx
mov dword [edi + edx*4], ebx
call fcn.00412dc0
inc edx
add ebx, 0x40
cmp edx, esi
jl 0x451bd0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x54]
mov dword [esp + 0x1d8], eax
mov eax, dword [ecx + 4]
shl eax, 6
add eax, edx
mov dword [esp + 0x220], eax
inc dword [eax + 0x14]
xor eax, eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1fc], eax
mov byte [esp + 0x224], al
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x1d8]
mov word [esp + 0x1f8], 1
mov dl, byte [eax + 3]
test dl, dl
je 0x451c49
mov ecx, dword [ecx - 8]
mov dword [esp + 0x228], ecx
push edi
lea edx, [esp + 0x1dc]
push esi
push edx
call dword [eax + 0x14]
lea eax, [esp + 0x18]
push eax
mov eax, esi
call fcn.00417520
mov al, byte [esp + 0x234]
add esp, 0x10
test al, al
je 0x451c9b
push 0
push 1
lea eax, [esp + 0x1e8]
call fcn.0041f840
add esp, 4
push eax
add ebx, 0x22c
push ebx
call fcn.00418360
add esp, 0xc
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x1e0]
push ecx
call fcn.004171b0
jmp 0x4523b8
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 4]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x54]
mov eax, dword [eax + 0xc]
shl ebx, 6
add ebx, edi
push eax
call fcn.004170f0
add esp, 4
cmp eax, 1
mov dword [esp + 0x14], eax
jne 0x451cf6
push 0
push eax
mov eax, ebx
call fcn.0041f840
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
add ecx, 0x22c
push ecx
call fcn.00418360
add esp, 0xc
mov ecx, ebx
call fcn.00412650
test eax, eax
jne 0x44e9cd
jmp 0x4523bb
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add edx, 0x22c
push esi
push edx
call fcn.0044da80
mov dword [esp + 0x1c], eax
add esp, 8
mov eax, esi
call fcn.00410750
test eax, eax
jne 0x4526c9
jmp case.0x44dfca.13
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
mov esi, dword [eax + 4]
mov al, byte [esi + 0x12]
test al, al
je 0x451d8a
mov eax, esi
call fcn.00416fb0
push 0
mov eax, esi
call fcn.0043a030
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x14], eax
jne case.0x44dfca.13
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 0
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x451db8
mov eax, dword [esp + 0x20]
call fcn.00412be0
jmp case.0x44dfca.13
mov edx, dword [esp + 0x18]
mov byte [edx + 0x234], 1
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
setl cl
test cl, cl
je 0x451ddf
or edx, 0xffffffff
sub edx, eax
mov eax, edx
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 8]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 4]
test cl, cl
setne bl
lea eax, [eax + eax*2]
mov edi, dword [edx + eax*8 + 4]
inc bl
push esi
mov byte [esp + 0x9c], bl
call fcn.00416f10
add esp, 4
test eax, eax
jne 0x451e20
mov eax, dword [esp + 0x98]
push eax
push esi
call fcn.0041a510
add esp, 8
cmp eax, 6
mov dword [esp + 0x14], eax
jne 0x4523bb
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
push 0
push edx
add eax, 0x22c
push str.database_table_is_locked:
push eax
call fcn.00418360
add esp, 0x10
jmp 0x4523bb
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
call fcn.00426080
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
add edx, 0x22c
push edx
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00426000
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x44dfca.13
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov byte [esi + 0x236], 2
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push edx
call fcn.004145b0
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esi + 0x236], 0
jmp case.0x44dfca.13
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], 0
mov edi, dword [esi]
call fcn.00410790
test eax, eax
jne 0x4526c9
lea ecx, [esp + 0x2c]
push ecx
push esi
call dword [edi + 0x18]
mov edx, eax
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x14], edx
call fcn.00410750
test eax, eax
jne 0x4526c9
test edx, edx
jne case.0x44dfca.13
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [edx], esi
mov ecx, dword [eax + 4]
push 0xffffffffffffffff
push ecx
call fcn.00432db0
mov edx, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x451f4d
mov dword [eax + 0x60], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [edx]
mov dword [eax + 0x64], ecx
jmp 0x4523bb
push edx
call dword [edi + 0x1c]
jmp 0x4523b8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x38]
mov ecx, dword [edx + ecx*4]
mov esi, dword [ebx - 0x40]
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 0x60]
mov edx, dword [ecx]
mov ecx, dword [edx]
xor edx, edx
cmp esi, edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], edx
jle 0x451fa0
lea eax, [esi + 1]
shl eax, 6
mov ecx, ebx
sub ecx, eax
mov dword [edi + edx*4], ecx
call fcn.00412dc0
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x451f90
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov byte [ecx + 0x236], 1
mov eax, dword [edx + 0xc]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x24]
push edi
push esi
push eax
mov eax, dword [edx + 0x60]
push ecx
mov ecx, dword [esp + 0x64]
push eax
call dword [ecx + 0x20]
mov edx, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
mov byte [edx + 0x236], 0
jne 0x452004
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x60]
mov edx, dword [esp + 0x54]
push ecx
call dword [edx + 0x28]
add esp, 4
mov edx, eax
jmp 0x452008
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
call fcn.00410750
test eax, eax
jne 0x4526c9
test edx, edx
je 0x452029
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xc]
lea eax, [esi + 2]
push ecx
jmp 0x4523b3
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x38]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x60]
mov edx, dword [edx]
mov edx, dword [edx]
mov esi, dword [edx + 0x30]
test esi, esi
jne 0x452061
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x4521b0
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov ecx, dword [ecx + 0x60]
lea eax, [esp + 0x150]
push eax
push ecx
call dword [edx + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add esp, 8
call fcn.00410750
test eax, eax
jne 0x4526c9
add ebx, 0x40
mov word [ebx + 0x18], 4
mov edx, dword [esp + 0x150]
mov dword [ebx], edx
mov eax, dword [esp + 0x154]
mov dword [esp + 0xc], ebx
mov dword [ebx + 4], eax
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x60]
mov ecx, dword [ecx]
mov esi, dword [ecx]
mov ecx, dword [esi + 0x2c]
test ecx, ecx
jne 0x4520e9
push 0
push str.Unsupported_module_operation:_xColumn
jmp 0x4521b0
xor eax, eax
mov ecx, 0x16
lea edi, [esp + 0x270]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov word [esp + 0x290], 1
call fcn.00410790
test eax, eax
jne 0x4526c9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [edx + 0x60]
lea eax, [esp + 0x274]
push eax
push ecx
call dword [esi + 0x2c]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x2b]
lea ecx, [esp + 0x284]
call fcn.0041f590
add ebx, 0x40
lea edx, [esp + 0x284]
push edx
mov dword [esp + 0x1c], ebx
mov word [ebx + 0x18], 0
call fcn.0041ad00
mov eax, dword [esp + 0x30]
add esp, 0x10
call fcn.00410750
test eax, eax
jne 0x4526c5
mov ecx, ebx
call fcn.00412650
test eax, eax
jne 0x44e9cd
jmp 0x4523bb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x38]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov edi, dword [edx]
mov ecx, dword [edi + 0x24]
test ecx, ecx
mov dword [esp + 0x48], 0
jne 0x4521cb
push 0
push str.Unsupported_module_operation:_xNext
add eax, 0x22c
push eax
call fcn.00418360
add esp, 0xc
mov dword [esp + 0x14], 1
jmp case.0x44dfca.13
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov eax, dword [esp + 0x18]
mov byte [eax + 0x236], 1
mov ecx, dword [esi + 0x60]
push ecx
call dword [edi + 0x24]
mov edx, dword [esp + 0x1c]
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
mov byte [edx + 0x236], 0
jne 0x452212
mov eax, dword [esi + 0x60]
push eax
call dword [edi + 0x28]
add esp, 4
mov edx, eax
jmp 0x452216
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
call fcn.00410750
test eax, eax
jne 0x4526c9
test edx, edx
jne case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x44dfca.13
test byte [ebx + 0x18], 0x12
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0xc]
jne 0x452265
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0xc]
call fcn.0041f620
test eax, eax
jne 0x45268e
mov ebx, esi
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov esi, dword [edi + 4]
mov eax, dword [edi]
inc esi
mov dword [edi + 4], esi
mov ecx, dword [ebx + 0x10]
push ecx
push edi
call dword [eax + 0x4c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
add esp, 8
mov eax, edi
call fcn.00414510
mov eax, esi
call fcn.00410750
test eax, eax
jne 0x4526c9
test byte [ebx + 0x18], 0x40
je 0x4522b7
push ebx
call fcn.004171b0
add esp, 4
sub ebx, 0x40
mov dword [esp + 0xc], ebx
jmp case.0x44dfca.13
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0xc]
mov eax, dword [esi]
mov edi, dword [ecx + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esp + 0x48], eax
jne 0x452301
mov edx, dword [esp + 0x18]
push 0
add edx, 0x22c
push str.read_only_table
push edx
call fcn.00418360
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x4523ac
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x24], ecx
mov edx, edi
shl edx, 6
mov ecx, ebx
sub ecx, edx
add ecx, 0x40
xor edx, edx
test edi, edi
jle 0x452334
mov edi, edi
call fcn.00412dc0
mov eax, dword [esp + 0x24]
mov dword [eax + edx*4], ecx
inc edx
add ecx, 0x40
cmp edx, edi
jl 0x452320
mov eax, dword [esp + 0x20]
call fcn.00410790
test eax, eax
jne 0x4526c9
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x160]
push ecx
push edx
inc eax
mov dword [esi + 4], eax
mov eax, dword [esp + 0x50]
push edi
push esi
call dword [eax + 0x34]
mov dword [esp + 0x24], eax
mov eax, esi
mov esi, dword [esp + 0x30]
add esp, 0x10
call fcn.00414510
mov eax, esi
call fcn.00410750
test eax, eax
jne 0x4526c9
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4523ac
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4523ac
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, esi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
mov eax, edi
lea edx, [esp + 0xc]
push edx
call fcn.00417520
add esp, 4
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
inc ecx
test eax, eax
mov dword [esp + 0x28], ecx
jne 0x44fef0
mov esi, ecx
jmp 0x44df15
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], 9
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x7c], ecx
mov esi, 1
jmp 0x4526df
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x28], ebx
mov ecx, dword [eax + 4]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], edx
mov ecx, dword [eax + 8]
mov dword [esi + 0x84], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x452432
push 0
push eax
lea edx, [esi + 0x22c]
push edx
call fcn.00418360
add esp, 0xc
mov eax, esi
call fcn.004435e0
cmp eax, 5
jne 0x452456
mov dword [esi + 0x7c], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x7c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 0x24]
shl ecx, 6
mov eax, ebx
sub eax, ecx
cmp esi, eax
mov dword [esp + 0x98], eax
jae 0x4524bd
test byte [esi + 0x19], 1
je 0x4524b6
push esi
call fcn.0041ab60
add esp, 4
test eax, eax
jne 0x452692
mov eax, dword [esp + 0x98]
add esi, 0x40
cmp esi, eax
jb 0x452498
mov edx, dword [edi + 0x5c]
add edx, 2
or edx, 1
cmp esi, ebx
mov dword [edi + 0x5c], edx
ja 0x4524e7
lea ecx, [ecx]
push esi
call fcn.0041abf0
add esp, 4
mov ecx, esi
call fcn.00412dc0
add esi, 0x40
cmp esi, ebx
jbe 0x4524d0
mov eax, dword [edi + 0x58]
mov edx, dword [esp + 0x28]
inc eax
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x10]
mov byte [edi + 0x230], 1
mov ecx, dword [eax + 4]
inc edx
mov dword [edi + 0x228], ecx
mov dword [edi + 0x78], edx
mov eax, 0x64
mov dword [edi + 0x28], ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x188]
push eax
call fcn.004171b0
add esp, 4
jmp 0x452692
mov dword [esp + 0x14], 0x14
jmp 0x44fe93
mov eax, dword [edi + 8]
test eax, eax
je 0x452581
mov eax, esi
call fcn.004431a0
mov edi, dword [esp + 0x18]
mov byte [esi + 0x14], 1
mov eax, dword [edi + 0x7c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x33]
mov edi, dword [esp + 0x18]
mov eax, edi
mov byte [esi + 0x14], cl
call fcn.004435e0
cmp eax, 5
jne 0x45255f
mov cl, byte [esp + 0x33]
mov edx, dword [esp + 0x28]
mov al, 1
sub al, cl
mov dword [edi + 0x28], ebx
mov dword [edi + 0x78], edx
mov byte [esi + 0x14], al
mov dword [edi + 0x7c], 5
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], 5
mov dword [eax + 0x28], ebx
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [ecx + 0x78], edx
mov dword [ecx + 0x7c], 5
mov edx, dword [ebx + 8]
test edx, edx
mov edx, dword [esp + 0xc]
setle al
inc eax
shl eax, 6
add eax, edx
mov dword [ecx + 0x28], eax
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, ebp
call fcn.00458c53
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], 0xb
jmp 0x44fe93
mov dword [esp + 0x14], 0xd
jmp 0x44fe93
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 0x30]
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp edi, 0xf03b7906
sete al
push 0
dec eax
and eax, 0xc
add eax, 9
mov dword [esp + 0x18], eax
mov dword [ecx + 0x7c], eax
call fcn.004152d0
push eax
add ecx, 0x22c
push ecx
jmp 0x44fedc
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
push 0
add eax, 0x22c
push str.out_of_memory
push eax
call fcn.00418360
mov edi, dword [esp + 0x24]
mov dword [esp + 0x20], 7
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [edi + 0x7c], ecx
mov esi, 1
jmp 0x4526df
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], 0x15
jmp 0x44fe93
mov edi, dword [esp + 0x18]
mov esi, 0x65
mov eax, edi
call fcn.004435e0
mov ecx, dword [esp + 0x32c]
mov dword [edi + 0x28], ebx
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00458c53
mov esp, ebp
pop ebp
ret