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

Disassembly:
sub esp, 0x11c
mov eax, dword [0x4e27e0]
xor eax, esp
mov dword [esp + 0x114], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
push edi
mov edi, dword [esi + 0x4c]
lea ebx, [esi + 0x80]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov byte [esp + 0x33], al
mov byte [esp + 0x28], dl
mov dword [esp + 0x44], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], ebx
call fcn.0042ddb0
cmp dword [esi + 0x58], 7
je 0x43f9bd
xor eax, eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x2c], eax
mov ecx, dword [ebp + 0xe0]
mov dword [ebp + 0x1a8], eax
test ecx, ecx
jne 0x44415f
xor edx, edx
cmp dword [ebp + 0x108], eax
mov eax, dword [esi + 0x54]
setne dl
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], edx
jmp 0x43f4d0
cmp byte [ebp + 0x1e], 0
jne 0x43f9bd
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
lea ebp, [edx + ecx*4]
je 0x43f51e
mov eax, dword [esp + 0x44]
cmp dword [ebx + 0x110], eax
jne 0x43f519
mov eax, dword [ebx + 0x10c]
mov ecx, dword [ebx + 0x108]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x443f85
inc eax
mov dword [esp + 0x44], eax
test byte [ebp + 2], 2
je 0x43f547
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x20], esi
call fcn.00439200
mov ebx, dword [esp + 0x14]
mov eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [esp + 0x1c]
movzx eax, byte [ebp]
dec eax
cmp eax, 0x90
ja case.0x43f557.17
jmp dword [eax*4 + 0x444198]
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
jne 0x44415f
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ecx, [edi + edx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x24]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x24], ecx
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov eax, dword [edi + edx*8]
mov dword [esp + 0x24], eax
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov eax, dword [edi + ecx*8]
lea ecx, [edi + ecx*8]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x24], ecx
jmp case.0x43f557.17
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.0x43f557.17
cmp dword [ebp + 4], 0
jne 0x443f92
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x443f92
mov ecx, dword [eax + 0x3c]
dec dword [esi + 0xe0]
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0x6c]
add dword [ebx + 0x40], ecx
mov dword [ebx + 0x3c], ecx
call fcn.0043b5c0
cmp dword [ebp + 8], 4
mov dword [esp + 0x24], eax
jne 0x43f645
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x4c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], edi
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43f557.17
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov edx, dword [ebp + 4]
mov dword [eax + 4], edx
jmp case.0x43f557.17
mov eax, dword [esp + 0x20]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [ebp + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.0x43f557.17
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
mov byte [ebp], 9
call fcn.004226e0
cmp byte [esp + 0x28], 1
mov dword [ebp + 4], eax
je 0x43f7c9
test ebx, ebx
jne 0x43f6cd
mov eax, dword [esp + 0x20]
push eax
call fcn.00439520
add esp, 4
jmp 0x43f760
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x43f6dd
mov eax, dword [eax + 0x48]
jmp 0x43f6e2
mov eax, 0x3b9aca00
xor esi, esi
mov dword [esp + 0x2c], eax
test eax, eax
jl 0x43f6fb
lea esp, [esp]
cmp byte [esi + ebx], 0
je 0x43f6fb
inc esi
cmp esi, eax
jle 0x43f6f0
xor edx, edx
mov edi, 0x202
cmp edx, fcn.00420800
jne 0x43f727
mov eax, dword [esp + 0x20]
push eax
call fcn.00439270
mov eax, dword [esp + 0x24]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], 0
jmp 0x43f740
mov edi, dword [esp + 0x20]
push edi
call fcn.00439270
mov dword [edi + 0x14], ebx
mov dword [edi + 0x20], 0
mov edi, 0xa02
mov eax, dword [esp + 0x24]
add esp, 4
cmp esi, dword [esp + 0x2c]
mov dword [eax + 0x18], esi
mov word [eax + 0x1c], di
mov byte [eax + 0x1f], 1
mov byte [eax + 0x1e], 3
jg 0x440060
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0
call fcn.00438ea0
test eax, eax
jne 0x43f9bd
mov esi, dword [esp + 0x20]
mov cx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov edx, 0xfbff
and cx, dx
mov eax, 0x800
or cx, ax
or bl, 0xff
mov word [esi + 0x1c], cx
cmp byte [ebp + 1], bl
jne 0x43f7b6
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.00420800
add esp, 8
mov edi, dword [esp + 0x18]
mov byte [ebp + 1], bl
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0x18]
mov dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 0x48]
jg 0x440060
mov eax, dword [esp + 0x20]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 4]
mov dl, byte [esp + 0x28]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.0x43f557.17
mov ecx, dword [esp + 0x20]
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x43f557.17
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
test esi, esi
jne 0x43f837
mov edx, dword [esp + 0x20]
push edx
call fcn.00439520
mov dl, byte [esp + 0x2c]
mov eax, dword [esp + 0x24]
add esp, 4
mov byte [eax + 0x1f], dl
jmp case.0x43f557.17
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43f847
mov eax, dword [eax + 0x48]
jmp 0x43f84c
mov eax, 0x3b9aca00
mov ebx, 0x10
test ebp, ebp
jge 0x43f875
xor ebp, ebp
test eax, eax
jl 0x43f870
jmp 0x43f860
mov cl, byte [esi + ebp + 1]
or cl, byte [esi + ebp]
je 0x43f870
add ebp, 2
cmp ebp, eax
jle 0x43f860
mov ebx, 0x210
xor edx, edx
cmp edx, fcn.00420800
jne 0x43f895
mov eax, dword [esp + 0x20]
push eax
call fcn.00439270
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [eax + 0x24], esi
jmp 0x43f8ac
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00439270
mov eax, dword [esp + 0x24]
add esp, 4
or ebx, 0x800
mov dl, byte [esp + 0x28]
mov dword [eax + 0x20], 0
mov dword [eax + 0x14], esi
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1f], 1
mov dword [eax + 0x18], ebp
mov word [eax + 0x1c], bx
mov byte [eax + 0x1e], 4
mov byte [eax + 0x1f], dl
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x3c]
lea ecx, [ebp + ebp*4]
lea esi, [eax + ecx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x60], esi
call fcn.00439780
test eax, eax
jne 0x440060
mov ebx, dword [esp + 0x20]
push 0x800
push esi
call fcn.004397b0
add esp, 8
jmp case.0x43f557.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x68], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edx, [ebp + ebp*4]
lea ebx, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x20], ecx
test eax, eax
je 0x43f970
mov esi, ecx
dec eax
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x60], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.00439860
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x64]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x43f93d
mov dword [esp + 0x20], esi
dec eax
mov dword [esp + 0x64], eax
jmp 0x4412e9
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x28], ebx
call fcn.004397b0
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x43f557.17
mov eax, ebx
call fcn.00438fd0
test eax, eax
je case.0x43f557.17
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
push str.out_of_memory
add edi, 0x5c
mov byte [eax + 0x1e], 1
call fcn.00420ba0
mov dword [esp + 0x14], 7
jmp 0x44007d
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea ebx, [edi + edx*8]
push 0x1000
push ecx
mov dword [esp + 0x28], ebx
call fcn.004397b0
add esp, 8
jmp case.0x43f557.17
push 0
mov ecx, esi
call fcn.0043be30
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x43f557.17
push 1
push esi
call fcn.0043bd60
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x43f557.17
mov eax, dword [esi + 0x50]
add eax, 2
or eax, 1
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
xor ecx, ecx
mov dword [esi + 0x2c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [ebp + 8], ecx
jle 0x43fab9
mov eax, dword [esp + 0x60]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x43fa89
call fcn.00438fd0
test eax, eax
jne 0x43f9bd
mov ecx, dword [esp + 0x64]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x60]
lea eax, [ecx + eax*8]
call fcn.00439090
mov eax, dword [esp + 0x64]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x60]
lea ecx, [eax + edx*8]
call fcn.0043f140
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebp + 8]
jl 0x43fa63
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
jne 0x43f9bd
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
inc edx
mov dword [eax + 0x54], edx
mov esi, 0x64
jmp 0x4400da
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
mov cl, byte [ebx + 0x1c]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
or cl, al
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], esi
test cl, 1
je 0x43fb1e
push esi
call fcn.00439520
jmp 0x4412e6
test eax, 0x4000
je 0x43fb38
mov eax, edi
call fcn.00439030
test eax, eax
jne 0x43f9bd
mov edi, dword [esp + 0x2c]
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x43fb56
mov eax, ebx
call fcn.00439030
test eax, eax
jne 0x43f9bd
mov edi, dword [esp + 0x2c]
test byte [edi + 0x1c], 0x12
jne 0x43fb74
movzx esi, byte [esp + 0x28]
mov eax, edi
call fcn.004390e0
test eax, eax
jne 0x43f9bd
mov edi, dword [esp + 0x2c]
test byte [ebx + 0x1c], 0x12
jne 0x43fb92
movzx esi, byte [esp + 0x28]
mov eax, ebx
call fcn.004390e0
test eax, eax
jne 0x43f9bd
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x440060
jl 0x43fbbf
cmp esi, eax
ja 0x440060
mov edi, dword [esp + 0x20]
mov cx, word [edi + 0x1c]
mov edx, 0xbf02
xor eax, eax
and cx, dx
or cx, 2
cmp edi, ebx
sete al
mov word [edi + 0x1c], cx
push eax
mov eax, dword [esp + 0x64]
add eax, 2
call fcn.00438ec0
add esp, 4
test eax, eax
jne 0x43f9bd
mov esi, edi
cmp esi, ebx
je 0x43fc10
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x14]
mov eax, dword [esi + 0x14]
push ecx
push edx
push eax
call fcn.004a44a0
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x14]
push ecx
push edx
push eax
call fcn.004a44a0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 0x14]
mov byte [ecx + eax + 1], 0
mov cl, byte [esp + 0x34]
mov edx, 0x200
add esp, 0xc
or word [esi + 0x1c], dx
mov eax, dword [esp + 0x60]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp 0x4412e9
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov esi, ebx
call fcn.0043f280
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.0043f280
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 0x1c]
lea edx, [edi + ecx*8]
movzx ecx, word [ebx + 0x1c]
or eax, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], eax
test al, 1
jne 0x43fe90
mov dl, byte [esi + 0x1c]
and dl, byte [ebx + 0x1c]
test dl, 4
je 0x43fd8c
mov ecx, dword [ebx]
mov dword [esp + 0x68], ecx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x6c], ebx
mov eax, dword [esi]
mov dword [esp + 0x70], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x74], esi
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x43fcd4
jmp dword [edx*4 + 0x4443dc]
add eax, ecx
adc esi, ebx
mov dword [esp + 0x74], esi
jmp 0x43fd62
sub eax, ecx
sbb esi, ebx
mov dword [esp + 0x74], esi
jmp 0x43fd62
push ebx
push ecx
push esi
push eax
call fcn.004a3130
jmp 0x43fd5e
mov edx, ecx
or edx, ebx
je 0x43fe90
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x43fd28
test eax, eax
jne 0x43fd28
cmp esi, 0x80000000
jne 0x43fd28
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.004a3170
jmp 0x43fd5e
mov edx, ecx
or edx, ebx
je 0x43fe90
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x43fd55
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.004a8af0
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 4], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x43f557.17
mov eax, ebx
call fcn.00439370
fstp qword [esp + 0x78]
mov eax, esi
call fcn.00439370
fst qword [esp + 0x80]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x43fdb1
jmp dword [eax*4 + 0x4443ec]
fadd qword [esp + 0x78]
jmp 0x43fe3c
fsub qword [esp + 0x78]
jmp 0x43fe3c
fmul qword [esp + 0x78]
jmp 0x43fe3c
fldz
fld qword [esp + 0x78]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x43fe8c
fdivp st(1)
jmp 0x43fe3c
fld qword [esp + 0x78]
call fcn.004a30a6
mov esi, eax
mov ebx, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
call fcn.004a30a6
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
je 0x43fe90
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x43fe27
mov esi, 1
xor ebx, ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
push ebx
push esi
push edx
push eax
call fcn.004a8af0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x50]
sub esp, 8
fst qword [esp + 0x88]
fstp qword [esp]
call fcn.004226a0
add esp, 8
test eax, eax
jne 0x43fe90
mov esi, dword [esp + 0x20]
fld qword [esp + 0x80]
mov ax, word [esi + 0x1c]
fstp qword [esi + 8]
mov ecx, 0xbf08
and ax, cx
or ax, 8
mov word [esi + 0x1c], ax
test byte [esp + 0x60], 8
jne case.0x43f557.17
call fcn.004393c0
jmp case.0x43f557.17
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x20]
push edx
call fcn.00439520
add esp, 4
jmp case.0x43f557.17
movzx ecx, byte [ebp + 3]
mov edx, dword [esi + 0x24]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x20], edx
lea edx, [edi + eax*8]
xor eax, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
test ecx, ecx
jle 0x43ff27
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x64]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x43ff09
call fcn.00438fd0
test eax, eax
jne 0x43f9bd
mov eax, dword [esp + 0x64]
mov ecx, eax
call fcn.0043f140
mov eax, dword [esp + 0x60]
add dword [esp + 0x64], 0x28
inc eax
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x60], eax
jl 0x43fedb
cmp byte [ebp + 1], 0xfb
jne 0x43ff3c
mov edx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
jmp 0x43ff4b
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
xor eax, eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, 1
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ebx, edi
lea eax, [esp + 0x70]
mov word [esp + 0x8c], cx
mov dword [esp + 0x80], esi
call fcn.00439860
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
and edx, 0xbf01
or edx, 1
mov word [esp + 0x8c], dx
mov dword [esp + 0x9c], 0
test byte [eax + 3], 8
je 0x43ffb7
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x70]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x444036
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x43fffd
mov ecx, dword [ebp + 4]
push ecx
call fcn.0043c390
mov edx, dword [esp + 0x70]
add esp, 4
mov dword [ebp + 0x10], edx
mov byte [ebp + 1], 0xf9
cmp dword [esp + 0x9c], 0
je 0x440038
mov bl, 1
lea edi, [esp + 0x70]
call fcn.00439e80
mov edi, dword [esp + 0x1c]
push eax
push 0x4d1854
add edi, 0x5c
mov eax, esi
call fcn.00420ba0
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x70]
call fcn.00438ea0
lea ebx, [esp + 0x70]
mov eax, edi
call fcn.00439860
mov ecx, edi
call fcn.00439780
test eax, eax
je 0x4412e9
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x5c
call fcn.00420ba0
mov dword [esp + 0x14], 0x12
add esp, 4
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0xbc]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
mov eax, edi
mov dword [esi + 0x58], edi
call fcn.00421e90
push esi
call fcn.0043be90
add esp, 0x14
cmp edi, 0xc0a
jne 0x4400c0
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1e], 1
cmp byte [esp + 0x33], 0
mov esi, 1
je 0x4400da
mov ebx, dword [esp + 0x14]
push 0
call fcn.0044fc10
add esp, 4
mov ebx, dword [esp + 0x3c]
call fcn.0042de00
mov ecx, dword [esp + 0x124]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049bee5
add esp, 0x11c
ret
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea esi, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [esi + 0x1c]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [esp + 0x20], ebx
test dl, 1
je 0x440136
push ebx
call fcn.00439520
add esp, 4
jmp case.0x43f557.17
call fcn.00439300
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call fcn.00439300
mov ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
movzx eax, byte [ebp]
sub eax, 0x52
je 0x440197
sub eax, 1
je 0x44018d
mov edx, dword [esp + 0x64]
sub eax, 1
mov eax, dword [esp + 0x60]
je 0x44017e
call fcn.004b83f0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x44019f
call fcn.004a3360
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x44019f
or dword [esp + 0x60], ecx
or dword [esp + 0x64], edx
jmp 0x44019f
and dword [esp + 0x60], ecx
and dword [esp + 0x64], edx
mov eax, dword [esp + 0x60]
mov dx, word [ebx + 0x1c]
mov dword [ebx], eax
mov ecx, dword [esp + 0x64]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov dword [ebx + 4], ecx
mov word [ebx + 0x1c], dx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
call fcn.00439420
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.0043f280
test byte [esi + 0x1c], 8
je 0x4401fa
call fcn.004393c0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x440217
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x444048
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
test byte [edi + eax*8 + 0x1c], 4
lea esi, [edi + eax*8]
je case.0x43f557.17
call fcn.00439450
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ebx, [edi + ecx*8]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x43f557.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [ebx + 0x1c], ax
test al, 2
jne 0x440280
test al, 0xc
je 0x440280
movzx esi, byte [esp + 0x28]
mov eax, ebx
call fcn.004390e0
mov edx, 0xfff3
and word [ebx + 0x1c], dx
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x4402ad
mov eax, ebx
call fcn.00439030
mov dword [esp + 0x10], eax
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.0x43f557.17
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
mov dword [esp + 0x10], 0
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
movzx eax, word [edi + ecx*8 + 0x1c]
lea ebx, [edi + ecx*8]
test al, 1
jne case.0x43f557.17
test al, 0x10
jne 0x44030b
test al, 2
jne 0x4402f2
test al, 0xc
je 0x4402f2
movzx esi, byte [esp + 0x28]
mov eax, ebx
call fcn.004390e0
mov dx, word [ebx + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [ebx + 0x1c], dx
jmp case.0x43f557.17
and eax, 0xff10
mov word [ebx + 0x1c], ax
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea eax, [edi + ecx*8]
call fcn.004394b0
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [edi + edx*8 + 0x1c], 1
lea esi, [edi + edx*8]
jne case.0x43f557.17
call fcn.00439420
jmp case.0x43f557.17
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
test byte [edi + eax*8 + 0x1c], 1
lea esi, [edi + eax*8]
jne case.0x43f557.17
call fcn.00439450
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea esi, [edi + ecx*8]
lea edx, [eax + eax*4]
mov ax, word [esi + 0x1c]
lea ebx, [edi + edx*8]
mov word [esp + 0x66], ax
mov cx, word [ebx + 0x1c]
mov word [esp + 0x68], cx
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x4403fb
mov dl, byte [ebp + 3]
test dl, dl
jns 0x4403b8
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x44046e
test dl, 0x10
je 0x4403e5
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x20], eax
mov word [eax + 0x1c], cx
jmp case.0x43f557.17
test dl, 8
je case.0x43f557.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x64], al
je 0x440436
mov ecx, dword [esp + 0x28]
push ecx
mov edi, esi
call fcn.0043f350
mov edx, dword [esp + 0x2c]
mov al, byte [esp + 0x68]
add esp, 4
push edx
mov edi, ebx
call fcn.0043f350
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x43f9bd
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x440448
mov eax, esi
call fcn.00439030
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x44045a
mov eax, ebx
call fcn.00439030
mov eax, dword [ebp + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.00439a40
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x60], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x44047e
jmp dword [ecx*4 + 0x4443fc]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4404c1
xor edx, edx
test eax, eax
setne dl
jmp 0x4404bf
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x4404c1
xor edx, edx
test eax, eax
setle dl
jmp 0x4404bf
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x4404c1
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x60], eax
test byte [ebp + 3], 0x10
je 0x44050b
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov dx, word [edi + eax*8 + 0x1c]
lea ecx, [edi + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x60]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [esp + 0x20], ecx
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x43f557.17
test eax, eax
je 0x440517
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x43f557.17
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x34], eax
jmp case.0x43f557.17
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x60], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x4405ec
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
jmp 0x440574
mov esi, dword [esp + 0x70]
test ebx, ebx
je 0x44057d
mov ecx, dword [ebx + eax*4]
jmp 0x44057f
mov ecx, eax
mov dword [esp + 0x74], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x78], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x80], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.00439a40
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4405df
mov eax, dword [esp + 0x64]
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x440570
mov dword [esp + 0x34], 0
jmp 0x4412e9
cmp dword [esp + 0x7c], 0
je 0x4405ec
neg eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], 0
jmp 0x4412e9
mov eax, dword [esp + 0x40]
test eax, eax
jge 0x44060e
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
jne 0x44061d
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea ecx, [edi + edx*8]
je 0x440641
mov edx, 2
jmp 0x440653
call fcn.00439300
or eax, edx
je 0x440651
mov edx, 1
jmp 0x440653
xor edx, edx
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x44066e
mov eax, 2
jmp 0x440684
call fcn.00439300
or eax, edx
mov edx, dword [esp + 0x60]
je 0x440682
mov eax, 1
jmp 0x440684
xor eax, eax
mov dword [esp + 0x64], eax
cmp byte [ebp], 0x45
jne 0x44069b
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x4cd208]
jmp 0x4406a6
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x4cd214]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x20], ecx
cmp eax, 2
jne 0x4406d6
mov dx, word [ecx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ecx + 0x1c], dx
jmp case.0x43f557.17
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x20], esi
je 0x440721
push esi
call fcn.00439520
add esp, 4
jmp case.0x43f557.17
call fcn.00439300
or eax, edx
jne 0x440741
mov eax, 1
cdq
push edx
push eax
mov eax, esi
call fcn.004395c0
add esp, 8
jmp case.0x43f557.17
xor eax, eax
cdq
push edx
push eax
mov eax, esi
call fcn.004395c0
add esp, 8
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [edi + eax*8]
lea esi, [edi + edx*8]
mov dword [esp + 0x20], esi
je 0x440781
push esi
call fcn.00439520
add esp, 4
jmp case.0x43f557.17
call fcn.00439300
not edx
not eax
push edx
push eax
mov eax, esi
call fcn.004395c0
add esp, 8
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea eax, [edi + eax*8]
je 0x4407b0
mov eax, dword [ebp + 0xc]
jmp 0x4407de
call fcn.00439370
fcomp qword [0x4d4c88]
fnstsw ax
test ah, 0x44
jnp 0x4407c9
mov eax, 1
jmp 0x4407cb
xor eax, eax
mov dword [esp + 0x60], eax
cmp byte [ebp], 0x1b
jne 0x4407e2
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x60], eax
test eax, eax
je case.0x43f557.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.0x43f557.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jne case.0x43f557.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x70], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x74], edx
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x9c], eax
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x34]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x7c], ebx
mov esi, dword [eax + edx*4]
mov dword [esp + 0x78], esi
mov eax, dword [esi]
mov dword [esp + 0x80], eax
cmp eax, ebx
je 0x4409a5
call fcn.0043c560
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x444118
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x14], bl
je 0x4408fd
mov dword [esp + 0x60], ebx
jmp case.0x43f557.17
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x50]
jne 0x440919
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x7c], edx
jmp 0x440943
cmp byte [eax + 0x17], 0
je 0x44098b
mov eax, dword [esp + 0x80]
lea edi, [esp + 0x68]
call fcn.00431ac0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je case.0x43f557.17
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x48]
ja 0x440060
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x8c], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x84], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x50]
jne 0x4409eb
mov eax, dword [eax + 0x58]
mov dword [esp + 0x88], eax
jmp 0x440d3b
mov esi, dword [esp + 0x80]
lea ecx, [esp + 0x60]
push ecx
call fcn.00431af0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x44093f
mov eax, dword [esi + 0x2c]
cmp eax, ebx
jle 0x4409e2
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0xe0], eax
mov edx, dword [eax + 0x18]
mov dword [esp + 0x60], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x7c], eax
test byte [ebp + 3], 0x20
je 0x4409d7
xor eax, eax
mov dword [esi + 0x4c], eax
jmp 0x44093f
mov eax, dword [ecx + 0x50]
mov dword [esi + 0x4c], eax
jmp 0x44093f
mov dword [esp + 0x60], ebx
jmp case.0x43f557.17
lea ecx, [ecx + edx*4]
mov dword [esp + 0x88], ecx
xor edi, edi
mov dword [esp + 0xdc], edi
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x7c]
cmp ecx, edi
je 0x440a2a
mov dword [esp + 0x98], ecx
jmp 0x440b2a
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x17], 0
je 0x440a57
mov esi, dword [esp + 0x80]
lea eax, [esp + 0xdc]
push eax
call fcn.004321c0
mov ecx, dword [esp + 0xe0]
add esp, 4
jmp 0x440b02
mov eax, dword [esp + 0x80]
xor edx, edx
cmp byte [eax + 0x43], 1
mov ebx, eax
jne 0x440af9
movsx ecx, word [eax + 0x5c]
mov edx, dword [eax + ecx*4 + 0x60]
mov dword [esp + 0x2c], edx
cmp word [eax + 0x3e], di
jne 0x440abd
movsx ecx, word [eax + 0x5c]
movzx esi, word [eax + ecx*2 + 0xb0]
mov ecx, dword [eax + ecx*4 + 0x60]
movzx edi, word [ecx + 0xc]
mov edx, dword [ecx + 0x40]
add eax, 0x20
push eax
add edi, edx
movzx eax, byte [edi + esi*2]
lea esi, [edi + esi*2]
movzx esi, byte [esi + 1]
shl eax, 8
or eax, esi
movzx esi, word [ecx + 0x12]
and eax, esi
add eax, edx
push eax
push ecx
call fcn.0042e650
add esp, 0xc
movzx eax, word [ebx + 0x38]
mov ecx, dword [esp + 0x2c]
add eax, dword [ebx + 0x20]
cmp byte [ecx + 2], 0
je 0x440ae3
movzx ecx, word [ebx + 0x3a]
xor edx, edx
sub ecx, edx
mov edx, eax
mov dword [esp + 0xdc], ecx
xor edi, edi
jmp 0x440b00
movzx ecx, word [ebx + 0x3a]
mov edx, dword [ebx + 0x28]
sub ecx, edx
add edx, eax
mov dword [esp + 0xdc], ecx
xor edi, edi
jmp 0x440b00
mov ecx, dword [esp + 0xdc]
mov eax, edx
mov dword [esp + 0x98], eax
cmp dword [esp + 0x60], ecx
ja 0x440b1c
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [edx + 0x5c], eax
jmp 0x440b23
mov eax, dword [esp + 0x78]
mov dword [eax + 0x5c], edi
mov ecx, dword [esp + 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x440b41
movzx edx, al
mov dword [esp + 0xd0], edx
mov eax, 1
jmp 0x440b5e
lea esi, [esp + 0xd0]
call fcn.00423310
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x98]
movzx eax, al
movzx eax, al
mov dword [esp + 0xd8], eax
cmp edx, 0x18003
jbe 0x440b83
mov eax, 0xf309
call fcn.0047a990
mov dword [esp + 0x10], eax
jmp 0x4412e9
mov eax, dword [esp + 0x8c]
lea ebx, [eax + eax*4 + 3]
cmp ebx, edx
mov dword [esp + 0x90], ebx
jle 0x440ba2
mov ebx, edx
mov dword [esp + 0x90], ebx
cmp dword [esp + 0x7c], edi
jne 0x440c11
cmp dword [esp + 0xdc], ebx
jge 0x440c11
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov word [esp + 0xbc], cx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xb0], edi
movzx eax, byte [edx + 0x17]
push eax
push edi
lea eax, [esp + 0xa8]
call fcn.00439cd0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4412e9
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x98], ecx
lea esi, [ecx + ebx]
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0xd8]
add esi, ecx
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0x94], ecx
test eax, eax
jle 0x440ce2
mov eax, dword [esp + 0xc8]
cmp eax, dword [esp + 0xcc]
mov eax, dword [esp + 0x88]
jae 0x440d7a
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
mov edx, dword [esp + 0x94]
cmp al, 0x80
jae 0x440c82
movzx ecx, al
mov eax, dword [esp + 0x84]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x440c94
mov eax, dword [esp + 0x84]
lea esi, [eax + edx*4]
call fcn.00423310
movzx eax, al
mov edx, dword [esp + 0x84]
movzx ecx, al
add dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x94]
mov eax, dword [edx + ecx*4]
call fcn.0043c6f0
mov edx, dword [esp + 0xd0]
add edx, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
cmp edx, eax
jae 0x440d8f
mov ecx, dword [esp + 0xcc]
inc ecx
mov dword [esp + 0xc8], ecx
lea edx, [esp + 0xa0]
push edx
call fcn.00439270
mov ecx, dword [esp + 0xd0]
mov eax, 1
mov word [esp + 0xc0], ax
mov eax, dword [esp + 0xcc]
add esp, 4
cmp eax, ecx
ja 0x440ec3
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x60]
cmp edx, esi
ja 0x440ec3
cmp eax, ecx
jne 0x440d34
cmp edx, esi
jne 0x440ec3
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
cmp dword [edx + eax*4], 0
je 0x440e44
cmp dword [esp + 0x7c], 0
je 0x440da9
mov esi, dword [esp + 0x9c]
call fcn.00439200
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x7c]
jmp 0x440e1e
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x94]
inc ecx
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x94], ecx
jl 0x440c3c
jmp 0x440ce2
mov eax, dword [ecx + eax*4]
call fcn.0043c6f0
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xa0]
call fcn.00439860
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax + 0x17]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x90]
push ecx
mov ecx, dword [edx + eax*4]
push ecx
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0xa8]
call fcn.00439cd0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4412e9
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x9c]
mov eax, dword [edx + eax*4]
call fcn.0043c7c0
mov ecx, dword [esp + 0x9c]
mov dl, byte [esp + 0x28]
mov byte [ecx + 0x1f], dl
jmp 0x440e62
cmp byte [ebp + 1], 0xf8
jne 0x440e62
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x9c]
push 0x800
push eax
call fcn.004397b0
add esp, 8
cmp dword [esp + 0xc4], 0
je 0x440eae
mov eax, dword [esp + 0x9c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0x9c]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x9c]
call fcn.00438fd0
mov dword [esp + 0x10], eax
jmp 0x4412e9
mov eax, 0xf353
call fcn.0047a990
mov dword [esp + 0x10], eax
jmp 0x4412e9
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
lea edi, [eax + edx*8]
mov al, byte [ecx]
mov byte [esp + 0x64], al
test al, al
je 0x440f2e
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x440f10
mov eax, edi
call fcn.00439030
mov al, byte [esp + 0x64]
mov edx, dword [esp + 0x28]
push edx
call fcn.0043f350
mov ecx, dword [esp + 0x64]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x64], al
test al, al
jne 0x440ef5
inc ecx
mov dword [esp + 0x60], ecx
jmp 0x4412e9
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov eax, dword [ebp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [esp + 0x1c]
movzx edx, byte [edx + 0x64]
mov dword [esp + 0x8c], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 0x94], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x90], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ecx, [ecx + edx*8]
mov esi, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x64], esi
cmp ebx, eax
ja 0x4410a0
lea ecx, [ecx]
mov edi, dword [esp + 0x98]
test edi, edi
je 0x440ffd
mov edx, dword [esp + 0x28]
mov ecx, esi
push edx
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + edi]
mov edi, esi
call fcn.0043f350
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x68]
add esp, 4
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x441020
cmp dword [esi + 0x18], 0
jle 0x441020
mov eax, esi
call fcn.00439030
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x9c]
push edx
mov ecx, esi
call fcn.0043c610
mov ecx, eax
add esp, 4
mov dword [esp + 0x88], ecx
call fcn.0043c6f0
mov ebp, eax
cdq
add dword [esp + 0x68], eax
push 0
push ecx
adc dword [esp + 0x74], edx
mov dword [esp + 0xac], ebp
call fcn.00423390
mov edi, dword [esp + 0x78]
add edi, eax
mov eax, 0x4000
add esp, 8
mov dword [esp + 0x70], edi
test word [esi + 0x1c], ax
je 0x44107d
mov ecx, dword [esi]
add dword [esp + 0x80], ecx
jmp 0x44108c
test ebp, ebp
je 0x44108c
mov dword [esp + 0x80], 0
add esi, 0x28
mov dword [esp + 0x64], esi
cmp esi, dword [esp + 0x90]
jbe 0x440fc0
mov eax, edi
cdq
push edx
push eax
call fcn.00423390
mov esi, eax
add edi, esi
mov eax, edi
cdq
push edx
push eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x80], edi
call fcn.00423390
add esp, 0x10
cmp esi, eax
jge 0x4410d2
inc edi
mov dword [esp + 0x70], edi
mov eax, edi
cdq
mov esi, eax
mov eax, dword [esp + 0x80]
mov ecx, edx
cdq
sub esi, eax
sbb ecx, edx
add esi, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
adc ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x440060
jl 0x44110f
cmp esi, eax
ja 0x440060
mov edi, dword [esp + 0x20]
push 0
mov eax, esi
call fcn.00438ec0
add esp, 4
test eax, eax
jne 0x43f9bd
mov eax, dword [esp + 0x70]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x60], ecx
cmp eax, 0x80
jae 0x441142
mov byte [ecx], al
mov eax, 1
jmp 0x441147
call fcn.00423160
mov ecx, dword [esp + 0x8c]
movzx esi, al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, eax
ja 0x4411d8
jmp 0x441170
mov edx, dword [esp + 0x9c]
push edx
call fcn.0043c610
add esp, 4
mov dword [esp + 0x88], eax
cmp eax, 0x80
jae 0x44119c
mov ecx, dword [esp + 0x60]
mov byte [esi + ecx], al
mov eax, 1
jmp 0x4411a8
mov edx, dword [esp + 0x60]
lea ecx, [esi + edx]
call fcn.00423160
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x90]
add ecx, 0x28
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, eax
jbe 0x441170
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x64], ecx
cmp ecx, eax
ja 0x441221
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
sub edx, esi
lea ebx, [esi + eax]
mov eax, dword [esp + 0x9c]
push edx
call fcn.0043c710
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xa4]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, dword [esp + 0x90]
jbe 0x4411e0
mov ecx, dword [esp + 0x78]
mov edx, 0x410
mov dword [edi + 0x18], ecx
mov word [edi + 0x1c], dx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x44124e
mov dword [edi], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp 0x4412e9
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x68], eax
cmp eax, ecx
je 0x441290
lea ecx, [esp + 0x60]
push ecx
call fcn.004365b0
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [eax], edx
mov ecx, dword [esp + 0x68]
add esp, 4
mov dword [eax + 4], ecx
jmp case.0x43f557.17
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov edx, ecx
mov dword [eax], edx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
jmp case.0x43f557.17
mov edi, dword [ebp + 4]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x60], edi
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x64], ebp
test edi, edi
jne 0x441394
cmp dword [esi + 0x90], edi
jle 0x441309
mov edi, dword [esp + 0x1c]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x5c
mov eax, esi
call fcn.00420ba0
mov dword [esp + 0x14], 5
add esp, 4
mov edi, dword [esp + 0x18]
inc dword [esp + 0x24]
cmp dword [esp + 0x10], 0
jne 0x440080
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
jmp 0x43f4d0
mov ecx, ebp
call fcn.004226e0
lea ecx, [eax + 0x19]
mov dword [esp + 0x68], eax
call fcn.00420a20
mov dword [esp + 0x6c], eax
test eax, eax
je 0x4412e9
lea edx, [eax + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
inc eax
push eax
mov eax, dword [edx]
push ecx
push eax
call fcn.004a44a0
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x441358
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1dc], 1
jmp 0x44135e
inc dword [eax + 0x1d4]
mov ecx, dword [eax + 0x1d0]
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x6c]
mov edx, dword [eax + 0x1e0]
mov dword [eax + 0x1d0], ecx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1e4]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
jmp 0x4412e9
mov dword [esp + 0x78], 0
mov ebx, dword [esi + 0x1d0]
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x4413cc
lea ebx, [ebx]
mov ecx, dword [ebx]
mov edx, ebp
call fcn.00422880
test eax, eax
je 0x4413f0
inc dword [esp + 0x78]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x70], ebx
test ebx, ebx
jne 0x4413b0
mov edi, dword [esp + 0x1c]
push ebp
push str.no_such_savepoint:__s
add edi, 0x5c
mov eax, esi
call fcn.00420ba0
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x4412e9
xor eax, eax
cmp dword [esi + 0x90], eax
jg 0x441594
cmp edi, 2
jne 0x441410
cmp dword [esi + 0x8c], 1
jg 0x441599
cmp dword [ebx + 0x10], eax
jne 0x441473
cmp byte [esi + 0x1dc], 0
je 0x441473
mov dword [esp + 0x2c], 1
cmp edi, 1
jne 0x441477
mov ecx, dword [esp + 0x1c]
push edi
call fcn.0043be30
mov esi, eax
add esp, 4
test esi, esi
jne 0x4400da
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
push edi
mov byte [esi + 0x1c], 1
call fcn.0043be90
add esp, 4
cmp eax, 5
je 0x444055
mov byte [esi + 0x1dc], 0
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x10], ecx
jmp 0x4414f5
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x1d4]
sub ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
dec ecx
mov dword [esp + 0x78], ecx
cmp dword [esi + 4], eax
jle 0x4414cc
jmp 0x441495
mov ecx, dword [esp + 0x78]
mov edx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push edi
mov ebx, ecx
call fcn.004317f0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x60]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [esi + 4]
jl 0x441491
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
cmp edi, 2
jne 0x4414fd
mov ebp, 0x200
test dword [esi + 0xc], ebp
je 0x4414fd
mov eax, esi
call fcn.0043d000
push 0
mov ebx, esi
call fcn.0044fc10
add esp, 4
or dword [esi + 0xc], ebp
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
cmp dword [esi + 0x1d0], ebx
je 0x441547
jmp 0x441510
mov eax, dword [esi + 0x1d0]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esp + 0x74]
push ecx
push esi
call fcn.00420800
dec dword [esi + 0x1d4]
mov ebx, dword [esp + 0x78]
add esp, 8
cmp dword [esi + 0x1d0], ebx
jne 0x441510
mov edi, dword [esp + 0x60]
cmp edi, 1
jne 0x44157d
mov edx, dword [ebx + 0x10]
mov dword [esi + 0x1d0], edx
mov eax, dword [esp + 0x70]
push eax
push esi
call fcn.00420800
add esp, 8
cmp dword [esp + 0x2c], 0
jne 0x4412e9
mov eax, dword [esp + 0x14]
dec dword [eax + 0x1d4]
jmp 0x4412e9
mov ecx, dword [ebx + 8]
mov dword [esi + 0x1e0], ecx
mov edx, dword [ebx + 0xc]
mov dword [esi + 0x1e4], edx
jmp 0x4412e9
cmp edi, 2
jne 0x4415a0
mov eax, str.rollback
jmp 0x4415a5
mov eax, str.release
mov edi, dword [esp + 0x1c]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x5c
mov eax, esi
call fcn.00420ba0
add esp, 8
mov dword [esp + 0x10], 5
jmp 0x4412e9
mov eax, dword [ebp + 4]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x64], ebp
test eax, eax
je 0x44160b
cmp byte [ebx + 0x1c], 0
jne 0x44160b
mov ecx, 1
mov dword [esp + 0x68], ecx
test ebp, ebp
je 0x44162a
cmp dword [ebx + 0x8c], ecx
jle 0x441613
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push str.cannot_rollback_transaction___SQL_statements_in_progress
add edi, 0x5c
jmp 0x4412d9
mov dword [esp + 0x68], 0
movzx ecx, byte [ebx + 0x1c]
cmp eax, ecx
jne 0x44406d
test eax, eax
jne 0x441648
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x441656
cmp dword [ebx + 0x90], 0
jle 0x441613
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push str.cannot_commit_transaction___SQL_statements_in_progress
add edi, 0x5c
jmp 0x4412d9
mov eax, str.cannot_rollback___no_transaction_is_active
test ebp, ebp
jne 0x441656
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x5c
call fcn.00420ba0
mov dword [esp + 0x14], 1
jmp 0x4412e6
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x60], eax
test eax, eax
je 0x4412e9
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.00430490
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
je 0x4440e8
test eax, eax
jne 0x444118
cmp dword [ebp + 8], eax
je 0x4412e9
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x66], al
je 0x4412e9
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x1c], al
je 0x4416db
cmp dword [esi + 0x8c], 1
jle 0x4412e9
cmp dword [ebx + 0xd8], 0
jne 0x4416fe
inc dword [esi + 0x1d8]
mov eax, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1d4]
add edx, eax
mov dword [ebx + 0xd8], edx
mov eax, dword [ebx + 0xd8]
push eax
mov eax, dword [esp + 0x64]
call fcn.004317a0
mov ecx, dword [esi + 0x1e0]
mov dword [ebx + 0xd0], ecx
mov edx, dword [esi + 0x1e4]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [ebx + 0xd4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x68], ebp
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x60]
push ecx
shl eax, 4
mov eax, dword [eax + edx + 4]
push ebp
call fcn.004364c0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.00439420
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
push eax
mov eax, dword [ecx + 4]
call fcn.00436530
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x4417c3
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
or dword [eax + 0xc], 0x200
jmp 0x4417d4
cmp eax, 2
jne 0x4417d4
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x48], cl
cmp dword [ebp + 4], 1
jne case.0x43f557.17
mov eax, dword [esp + 0x14]
call fcn.0043d000
mov edx, dword [esp + 0x1c]
mov byte [edx + 0x62], 0
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x64], eax
test eax, eax
je 0x44181a
lea edx, [esp + 0x60]
push edx
push 1
call fcn.004364c0
add esp, 8
jmp 0x441822
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x60]
cmp eax, dword [ebp + 8]
je 0x4412e9
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x5c]
mov esi, dword [esp + 0x14]
push ecx
push esi
call fcn.00420800
push esi
mov ebx, str.database_schema_has_changed
call fcn.00420b20
mov dword [edi + 0x5c], eax
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 8]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x60]
je 0x441874
push ebp
mov ebx, esi
call fcn.0044fc10
add esp, 4
mov eax, esi
call fcn.0043d000
mov dword [esp + 0x10], 0x11
jmp 0x4412e9
cmp byte [esi + 0x62], 0
je 0x44189b
mov dword [esp + 0x10], 4
jmp case.0x43f557.17
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0x7c], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x74], ebx
cmp byte [ebp], 0x27
jne 0x4418e2
mov dword [esp + 0x70], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [esi + 0x64]
jae 0x4418ea
mov byte [esi + 0x64], al
jmp 0x4418ea
mov dword [esp + 0x70], 0
cmp byte [ebp + 3], 0
je 0x44190e
lea ecx, [edx + edx*4]
lea esi, [edi + ecx*8]
call fcn.00439420
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x68], esi
jl 0x444100
mov ecx, dword [esp + 0x60]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x441939
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x64]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x441940
cmp al, 0xf2
jne 0x441944
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x6c]
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x1c]
push 1
push edx
push ecx
push eax
call fcn.0043f170
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x43f9bd
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x78]
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
mov eax, dword [esp + 0x80]
push ecx
call fcn.00431910
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
add esp, 0x10
mov dword [esp + 0x10], eax
mov dword [edx + 0x30], ecx
cmp eax, 0x10
jne 0x4419c2
mov edx, dword [esp + 0x78]
mov dword [edx], 0
mov dword [esp + 0x10], 0
cmp byte [ebp + 1], 0xfa
mov ecx, dword [esp + 0x78]
setne al
mov byte [ecx + 0x16], al
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete dl
mov byte [eax + 0x17], dl
jmp case.0x43f557.17
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.0043f170
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x43f9bd
mov ebx, 1
mov byte [eax + 0x14], bl
movzx edx, byte [ebp + 3]
mov ecx, dword [esp + 0x60]
or edx, 9
push 0x41e
push edx
mov edx, dword [esp + 0x1c]
add ecx, 0x28
push 0
call fcn.0042f450
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x441ae2
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x28]
push ebx
push ecx
call fcn.00430490
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x441ae2
cmp dword [ebp + 0x10], 0
mov eax, dword [esp + 0x60]
je 0x441ac5
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x4c]
push 2
push edx
call fcn.00435e80
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x441abb
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x28]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push ebx
push ecx
call fcn.00431910
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x30], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x30]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x16], 0
jmp 0x441ae2
mov edx, dword [eax]
mov eax, dword [eax + 0x28]
push edx
push 0
push ebx
push ebx
call fcn.00431910
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
add esp, 0x10
mov byte [eax + 0x16], bl
cmp byte [ebp + 3], 0x10
mov edx, dword [esp + 0x60]
setne cl
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x43f557.17
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.0043f170
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x43f9bd
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x60]
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x17], 0
jmp case.0x43f557.17
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov ebx, esi
call fcn.0043b570
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x34]
mov dword [ecx + eax*4], 0
jmp case.0x43f557.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je 0x43f56c
movzx ecx, byte [ebp]
mov dword [esp + 0x64], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x16], 0
je 0x441d47
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.0043f280
mov ecx, esi
call fcn.00439300
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x94], edx
mov byte [eax + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x441ce3
test al, 8
jne 0x441be2
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
xor ebx, ebx
cmp dword [esp + 0x90], ebx
jne 0x441c8f
mov eax, SysReAllocStringLen
cmp dword [esp + 0x94], eax
jne 0x441c8f
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x58]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x441c25
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x441c8f
fldz
mov dword [esp + 0x60], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x441c51
cmp dword [esp + 0x64], 0x2e
jl 0x441c82
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
lea esi, [esp + 0x60]
call fcn.004325c0
jmp 0x441c67
cmp dword [esp + 0x64], 0x2d
jg 0x441c82
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
lea esi, [esp + 0x60]
call fcn.004325f0
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x444118
cmp dword [esp + 0x60], 0
je 0x4412e9
mov edi, dword [esp + 0x18]
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [esp + 0x64]
cmp eax, 0x2c
je 0x441cc3
cmp eax, 0x2e
je 0x441cc3
fild qword [esp + 0x90]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x441ce3
mov eax, 0xffffffff
add dword [esp + 0x90], eax
adc dword [esp + 0x94], eax
jmp 0x441ce3
fild qword [esp + 0x90]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x441ce3
add dword [esp + 0x90], 1
adc dword [esp + 0x94], ebx
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.00432630
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
cmp dword [esp + 0x60], eax
jne 0x441dc4
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x68]
mov dword [eax + 0xc], edx
jmp 0x441dc4
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x88], edx
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x64]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x74], dx
mov word [esp + 0x76], ax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, 0x4000
mov dword [esp + 0x80], eax
test word [eax + 0x1c], dx
je 0x441d93
call fcn.00439030
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x60]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x80]
push edx
push eax
call fcn.00432630
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x11], al
mov edx, dword [esp + 0x68]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x68]
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x64]
cmp ecx, 0x2e
mov eax, dword [esp + 0x60]
jl 0x441e20
cmp eax, esi
jl 0x441df6
jne 0x441ded
cmp ecx, 0x2f
je 0x441df6
mov dword [esp + 0x60], esi
jmp case.0x43f557.17
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.00432a20
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x444118
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x11], 0
jmp 0x441e68
cmp eax, esi
jg 0x441e40
jne 0x441e2b
cmp ecx, 0x2c
je 0x441e40
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x441e68
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push ecx
call fcn.00432b40
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x444118
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 0
cmp dword [esp + 0x60], 0
je 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x60], eax
cmp dword [eax], 0
je 0x4412e9
mov edi, dword [esp + 0x18]
mov byte [eax + 0x14], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ecx, [edi + edx*8]
call fcn.00439300
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x60]
mov byte [edx + 0x15], 1
jmp case.0x43f557.17
mov ecx, dword [esi + 0x34]
xor edx, edx
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
cmp dword [eax], edx
je 0x441fba
cmp dword [ebp + 0x10], edx
jle 0x441f24
mov edx, dword [eax + 0x30]
mov dword [esp + 0x70], edx
mov dx, word [ebp + 0x10]
mov word [esp + 0x74], dx
mov dword [esp + 0x80], ecx
mov ecx, 0x10
lea edx, [esp + 0x70]
mov word [esp + 0x76], cx
mov dword [esp + 0x6c], edx
jmp 0x441f5d
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [eax + 0x30]
push ecx
push edx
mov edx, 0x97
lea eax, [esp + 0x94]
call fcn.0043c9e0
add esp, 0xc
mov dword [esp + 0x6c], eax
test eax, eax
je 0x43f9bd
or word [eax + 6], 0x10
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
mov eax, dword [eax]
lea ecx, [esp + 0x68]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00432630
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x10], eax
jne 0x441f8b
mov ebx, dword [esp + 0x6c]
call fcn.0043cb30
cmp dword [esp + 0x10], 0
jne case.0x43f557.17
mov edx, dword [esp + 0x64]
xor ecx, ecx
cmp dword [esp + 0x68], ecx
sete cl
mov dword [esp + 0x60], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x4c], 0
mov edx, dword [esp + 0x60]
cmp byte [ebp], 0x32
jne 0x441fd5
test edx, edx
je 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
test edx, edx
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x34]
lea esi, [edi + ecx*8]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x64], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov edx, dword [esp + 0x64]
mov dword [edx + 0x4c], ecx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x68], eax
mov ecx, dword [edx + 0x30]
mov cx, word [ecx + 6]
xor eax, eax
xor edi, edi
mov word [esp + 0x6c], cx
mov word [esp + 0x60], ax
cmp di, cx
jae 0x442062
movzx edi, ax
lea edi, [edi + edi*4]
test byte [ebx + edi*8 + 0x1c], 1
jne 0x44210e
inc ax
mov word [esp + 0x60], ax
cmp ax, cx
jb 0x442045
cmp dword [esp + 0x68], 0
je 0x4412e9
mov edx, dword [edx + 0x30]
mov eax, dword [esp + 0x6c]
inc eax
mov ecx, 0x20
mov dword [esp + 0x78], edx
mov word [esp + 0x7c], ax
mov word [esp + 0x7e], cx
mov dword [esp + 0x88], ebx
call fcn.00439420
mov ecx, dword [esp + 0x64]
mov edx, dword [esi]
add ecx, 0x48
push ecx
push 0
mov dword [esp + 0x98], edx
mov eax, dword [esi + 4]
push 0
push 0
lea edx, [esp + 0x88]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x78]
push edx
push eax
call fcn.00432630
add esp, 0x18
test byte [esp + 0x7e], 0x20
mov dword [esp + 0x10], eax
jne 0x441e73
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x90]
jne 0x4420fd
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x94]
je 0x441e73
mov dword [esi], eax
mov edx, dword [esp + 0x84]
mov dword [esi + 4], edx
jmp 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x68], 0
jmp 0x4412e9
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [esp + 0x64], eax
cmp eax, edx
je 0x4421d2
mov dword [esp + 0x68], edx
mov ecx, dword [esi]
lea ebx, [esp + 0x68]
push ebx
push 0
mov dword [esp + 0x78], ecx
mov edx, dword [esi + 4]
push edx
push ecx
push 0
push eax
mov dword [esp + 0x8c], edx
call fcn.00432630
mov edx, dword [esp + 0x78]
mov ecx, dword [esi]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x78]
add esp, 0x18
cmp dword [esp + 0x68], 0
sete dl
mov byte [eax + 0x11], dl
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x14], 0
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x15], 0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4421c6
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x48], eax
jmp case.0x43f557.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov dword [ecx + 0x48], edx
jmp case.0x43f557.17
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x38]
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
jmp case.0x43f557.17
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov edx, dword [edx + ecx*4]
mov dword [esp + 0x68], edx
cmp dword [edx], eax
je 0x4424a6
mov dword [esp + 0x70], eax
cmp byte [edx + 0x13], al
jne 0x4423b7
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0x1c]
mov esi, eax
or esi, ecx
mov dword [esp + 0x64], ecx
jne 0x4422d0
mov eax, dword [edx]
lea esi, [esp + 0x6c]
call fcn.004325f0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
cmp dword [esp + 0x6c], eax
je 0x44227c
mov eax, 1
xor ecx, ecx
jmp 0x4422c4
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
lea edi, [esp + 0x60]
call fcn.00431ac0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jne 0x4422ba
cmp ecx, 0x7fffffff
jne 0x4422ba
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
mov byte [ecx + 0x13], 1
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
jmp 0x4422cc
mov edi, dword [esp + 0x18]
add eax, 1
adc ecx, 0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x68]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x442382
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xdc]
test ecx, ecx
je 0x442310
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x442301
mov ecx, eax
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4422f4
mov ebp, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
jmp 0x442316
lea edx, [esi + esi*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x74], esi
call fcn.00439420
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x442339
cmp ecx, 0x7fffffff
je 0x444110
mov esi, dword [esp + 0x68]
cmp byte [esi + 0x13], 0
jne 0x444110
mov esi, dword [esp + 0x64]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x442365
jl 0x44235d
cmp dword [esp + 0x60], eax
jae 0x442365
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x60]
mov dword [edx], eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
cmp ecx, 0x7fffffff
jg 0x442399
jl 0x442391
cmp eax, 0xffffffff
jae 0x442399
add eax, 1
adc ecx, 0
jmp 0x44239d
xor eax, eax
xor ecx, ecx
mov esi, dword [edx]
push ecx
push eax
call fcn.00431960
mov edx, dword [esp + 0x70]
add esp, 8
cmp byte [edx + 0x13], 0
je 0x44248b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x6c]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], 0
mov eax, dword [edx]
push 0
push eax
call fcn.00432630
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x442487
lea esi, [eax + 5]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jne 0x442478
mov eax, dword [esp + 0x70]
inc eax
cmp eax, 0x64
mov dword [esp + 0x70], eax
jge 0x442478
lea ecx, [esp + 0x60]
push ecx
push 8
call fcn.00421ff0
mov eax, dword [esp + 0x68]
add esp, 8
cmp dword [esp + 0x70], esi
jge 0x44243c
and eax, 0xffffff
xor ecx, ecx
jmp 0x442446
mov ecx, dword [esp + 0x64]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x6c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00432630
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
je 0x442404
jmp 0x442487
cmp dword [esp + 0x10], 0
jne 0x442487
test ecx, ecx
je 0x444110
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
mov byte [edx + 0x11], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x64]
mov dword [eax + 4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x34]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov dword [esp + 0x60], esi
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
cmp byte [ebp], 0x37
mov eax, dword [ebp + 0xc]
jne 0x4424f8
lea ecx, [eax + eax*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x64], ecx
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov edx, dword [ecx + 4]
jmp 0x4424fd
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
test byte [ebp + 3], 1
je 0x44250a
inc dword [ebx + 0x6c]
test byte [ebp + 3], 2
je 0x442522
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x34], eax
mov esi, dword [esp + 0x60]
xor edi, edi
test byte [esi + 0x1c], 1
je 0x442538
mov dword [esi + 0x14], edi
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x18], edi
mov esi, dword [esp + 0x60]
test byte [ebp + 3], 0x10
je 0x44254b
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x48]
mov dword [esp + 0x78], eax
jmp 0x44254f
mov dword [esp + 0x78], edi
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x442562
mov edx, dword [esi]
mov dword [esp + 0x74], edx
jmp 0x442566
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
push edi
push edi
call fcn.00431960
movzx ecx, byte [ebp + 3]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
and ecx, 8
push ecx
mov ecx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [edx]
push ecx
push edi
push eax
mov eax, dword [esp + 0xa0]
call fcn.00435790
mov ecx, dword [esp + 0x98]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x98]
mov byte [edx + 0x15], 0
mov ecx, dword [esp + 0x98]
add esp, 0x28
mov dword [esp + 0x10], eax
mov dword [ecx + 0x4c], edi
cmp eax, edi
jne 0x4412e9
mov edx, dword [esp + 0x14]
cmp dword [edx + 0xb8], 0
je 0x4412e9
cmp dword [ebp + 0x10], 0
je 0x4412e9
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edi, dword [esp + 0x6c]
mov esi, edx
mov edx, dword [esi + 8]
shl ecx, 4
mov ecx, dword [ecx + edx]
mov dword [esp + 0x7c], ecx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x80], edx
mov al, byte [ebp + 3]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x6c]
neg eax
sbb eax, eax
push edi
push edx
and eax, 5
add eax, 0x12
push ecx
mov dword [esp + 0x94], eax
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb8]
push eax
push ecx
call edx
add esp, 0x18
jmp 0x4412e9
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x34]
xor edi, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov eax, dword [ebp + 4]
mov esi, dword [edx + eax*4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], esi
cmp dword [eax + 0xb8], edi
je 0x44268e
cmp dword [ebp + 0x10], edi
je 0x44268e
mov ecx, dword [esi + 8]
mov dword [esp + 0x60], ecx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x64], edx
call fcn.0043c560
mov dword [esp + 0x10], eax
cmp eax, edi
jne 0x444118
mov eax, dword [esp + 0x68]
mov esi, dword [eax]
push 0
push 0
call fcn.00431960
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
push edx
call fcn.004359a0
mov ecx, dword [esp + 0x74]
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x44270f
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x44270f
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x44270f
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je 0x4412e9
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x6c]
jmp 0x4412e9
mov eax, dword [esi + 0x6c]
add dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov dword [esi + 0x6c], 0
jmp case.0x43f557.17
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x34]
mov esi, dword [ecx + edx*4]
mov dword [esp + 0x60], esi
mov edx, dword [esi]
mov dword [esp + 0x64], edx
call fcn.0043c560
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x17], 0
je 0x4427b0
mov eax, dword [esp + 0x64]
lea edi, [esp + 0x70]
call fcn.00431ac0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x48]
mov ecx, dword [esp + 0x74]
cdq
cmp ecx, edx
jg 0x440060
mov ecx, dword [esp + 0x70]
jl 0x4427a8
cmp ecx, eax
ja 0x440060
mov eax, ecx
mov dword [esp + 0x68], eax
jmp 0x4427d2
mov esi, dword [esp + 0x64]
lea edx, [esp + 0x68]
push edx
call fcn.00431af0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x440060
mov edi, dword [esp + 0x20]
push 0
call fcn.00438ec0
add esp, 4
test eax, eax
jne 0x43f9bd
mov edx, dword [esp + 0x68]
mov esi, edi
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x60]
cmp byte [edx + 0x17], 0
mov ecx, dword [esp + 0x64]
je 0x442836
mov eax, dword [esi + 0x14]
push 0
push eax
mov eax, dword [esp + 0x70]
push eax
push 0
push ecx
call fcn.00431e30
add esp, 0x14
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp 0x4412e9
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x68]
push edx
push eax
push 0
push ecx
call fcn.00432180
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp 0x4412e9
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x34]
mov esi, dword [eax + edx*4]
mov dword [esp + 0x60], esi
cmp byte [esi + 0x14], 0
je 0x442880
mov edx, dword [esp + 0x20]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.0x43f557.17
cmp byte [esi + 0x15], 0
je 0x442896
mov eax, dword [esi + 0x20]
mov dword [esp + 0x68], eax
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x6c], ecx
jmp 0x44290b
cmp dword [esi + 0x40], 0
je 0x4428cd
mov edx, dword [esi + 0x40]
mov eax, dword [edx]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov edx, dword [esi + 0x40]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x68]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x78]
push ecx
push ebx
mov dword [esp + 0x20], eax
call fcn.0043f3a0
add esp, 0x10
jmp 0x44290b
call fcn.0043c560
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x11], 0
je 0x4428f8
mov edx, dword [eax + 8]
mov dword [esp + 0x68], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x6c], eax
jmp 0x44290b
mov eax, dword [eax]
lea edi, [esp + 0x68]
call fcn.00431ac0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x60], eax
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x60]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx]
test esi, esi
je 0x4412e9
call fcn.0042e170
jmp 0x4412e9
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x442977
mov dword [esp + 0x68], 1
jmp 0x442988
lea esi, [esp + 0x68]
call fcn.004325f0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov dl, byte [esp + 0x68]
mov byte [ecx + 0x14], dl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle 0x4412e9
cmp dword [esp + 0x68], 0
je 0x4412e9
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
inc dword [esi + 0xb4]
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], 1
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
test eax, eax
je 0x442a2a
lea esi, [esp + 0x68]
call fcn.004325c0
cmp dword [esp + 0x68], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
sete dl
mov byte [eax + 0x12], dl
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], 0
mov eax, dword [esp + 0x60]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x60]
mov dl, byte [esp + 0x68]
mov byte [ecx + 0x14], dl
cmp dword [esp + 0x68], 0
je 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x44415f
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x60], eax
test eax, eax
je case.0x43f557.17
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
test ecx, ecx
jne 0x442a7f
mov byte [eax + 0x14], 1
jmp case.0x43f557.17
mov dword [esp + 0x68], 1
cmp byte [ebp], 0x43
jne 0x442a9a
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.00432a20
jmp 0x442aa5
lea edx, [esp + 0x68]
push edx
push ecx
call fcn.00432b40
mov cl, byte [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x68]
add esp, 8
mov dword [edx + 0x4c], 0
cmp dword [esp + 0x68], 0
jne 0x442ae9
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x24], eax
mov al, byte [ebp + 3]
test al, al
je 0x442ae9
movzx eax, al
inc dword [esi + eax*4 + 0xac]
lea eax, [esi + eax*4 + 0xac]
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
jmp case.0x43f557.17
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp + 4]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x4412e9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x442b44
mov eax, esi
call fcn.00439030
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4412e9
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x68], eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x6c], esi
test byte [ebp + 3], 0x10
je 0x442b5d
mov ebx, dword [edx + 0x48]
jmp 0x442b5f
xor ebx, ebx
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
cdq
push 0x4cc6b4
push edx
push eax
push esi
push ecx
mov eax, ebx
call fcn.00435790
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x80]
add esp, 0x20
mov dword [eax + 0x4c], 0
jmp 0x4412e9
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x4412e9
mov eax, dword [eax + 0x30]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov dx, word [ebp + 0xc]
xor eax, eax
mov word [esp + 0x74], dx
mov word [esp + 0x76], ax
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x68]
push edx
push 0
push 0
mov dword [esp + 0x8c], eax
push 0
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00432630
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x442c14
cmp dword [esp + 0x68], eax
jne 0x442c14
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004359a0
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], 0
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov edx, dword [eax]
mov dword [esp + 0x60], edx
mov eax, 1
mov word [ecx + 0x1c], ax
cmp dword [esp + 0x60], 0
je 0x4412e9
mov esi, dword [esp + 0x64]
call fcn.0043c560
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov edx, dword [esp + 0x64]
cmp byte [edx + 0x14], al
jne 0x4412e9
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x64]
call fcn.0043cdc0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x444118
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov edx, dword [esp + 0x6c]
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 0x1c], cx
jmp 0x4412e9
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov edi, dword [ecx + edx*4]
mov dword [esp + 0x60], edi
cmp dword [edi], 0
je 0x4412e9
mov edx, dword [edi + 0x30]
mov dword [esp + 0x68], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x6c], ax
cmp byte [ebp + 3], 0
je 0x442ce9
mov ecx, 0xc
mov word [esp + 0x6e], cx
jmp 0x442cf3
mov edx, 4
mov word [esp + 0x6e], dx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x6c]
push ecx
mov dword [esp + 0x80], edx
call fcn.0043cf20
add esp, 8
cmp byte [ebp], 0x51
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
jne 0x442d2b
neg eax
jmp 0x442d2c
inc eax
mov dword [esp + 0x64], eax
test eax, eax
jle 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
mov dword [esp + 0x64], 0
mov eax, dword [ebx + 0x88]
mov dword [esp + 0x68], eax
test eax, eax
je 0x442d84
jmp 0x442d60
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x442d79
cmp byte [eax + 0x65], 2
jae 0x442d79
cmp dword [eax + 0x54], 0
jl 0x442d79
inc dword [esp + 0x64]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
test eax, eax
jne 0x442d60
mov eax, dword [esp + 0x20]
mov edx, 1
mov word [eax + 0x1c], dx
cmp dword [esp + 0x64], edx
jle 0x442da8
mov dword [esp + 0x10], 6
mov byte [esi + 0x38], 2
jmp case.0x43f557.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
call fcn.00436470
mov esi, dword [esp + 0x28]
mov ecx, eax
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [esp + 0x10], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x4412e9
mov edx, dword [esp + 0x60]
test edx, edx
je 0x4412e9
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x14]
mov edi, dword [ebp + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.00451a60
mov byte [esp + 0x33], 1
jmp 0x4412e9
mov dword [esp + 0x60], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x60]
and ecx, edx
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.00436090
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.0x43f557.17
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0x6c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.0x43f557.17
lea ecx, [ebp + ebp*4]
cdq
add dword [edi + ecx*8], eax
lea ecx, [edi + ecx*8]
adc dword [ecx + 4], edx
jmp case.0x43f557.17
mov dword [esp + 0x60], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x68], eax
cmp byte [ebp], 0x62
lea edx, [esp + 0x60]
setne cl
inc ecx
push ecx
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 4]
push edx
call fcn.00435e80
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
push ebx
mov dword [esp + 0x64], eax
call fcn.0042dc20
mov eax, dword [esp + 0x64]
add esp, 4
cmp dword [ebp + 8], 0
jne 0x442eff
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x442fa7
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x442f0e
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1c]
add edx, 0x5c
mov dword [esp + 0x74], edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [esi + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.00421c70
add esp, 0x10
mov dword [esp + 0x68], eax
test eax, eax
jne 0x442f5a
mov dword [esp + 0x10], 7
jmp 0x442fa5
push 0
lea eax, [esp + 0x70]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x70]
push fcn.00461350
push ecx
push esi
mov dword [esp + 0x8c], 0
call fcn.0045e0a0
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x442f93
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x68]
push eax
push esi
call fcn.00420800
add esp, 8
mov byte [esi + 0x7c], 0
mov ebx, esi
push ebx
call fcn.0042dd00
add esp, 4
cmp dword [esp + 0x10], 7
je 0x43f9bd
jmp 0x4412e9
mov eax, dword [ebp + 4]
mov ecx, ebx
call fcn.0044e450
mov dword [esp + 0x10], eax
jmp case.0x43f557.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.0044ff30
add esp, 4
jmp case.0x43f557.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.0044fb40
add esp, 4
jmp case.0x43f557.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.0046b1a0
add esp, 4
jmp case.0x43f557.17
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x60], eax
call fcn.00420a20
mov dword [esp + 0x64], eax
test eax, eax
je 0x43f9bd
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
lea edx, [edi + ecx*8]
mov dword [esp + 0x74], edx
mov ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edi + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x60], ecx
mov dword [esp + 0x68], ecx
jle 0x443089
jmp 0x443060
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00439300
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x68]
inc ecx
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x68], ecx
jl 0x443060
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x64]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [ebx + 8]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.00437680
mov ecx, dword [esp + 0x70]
add esp, 0xc
push ecx
push ebx
mov dword [esp + 0x78], eax
call fcn.00420800
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cdq
sub dword [ecx], eax
mov eax, dword [esp + 0x7c]
push esi
sbb dword [eax + 4], edx
call fcn.00439520
add esp, 0xc
cmp dword [esp + 0x6c], 0
je 0x443114
mov eax, dword [esp + 0x70]
test eax, eax
je 0x43f9bd
push 1
push 0xffffffffffffffff
push eax
mov eax, fcn.00420760
mov ecx, esi
call fcn.004398b0
mov edi, dword [esp + 0x24]
add esp, 0xc
movzx ecx, byte [esp + 0x28]
mov eax, esi
call fcn.00438ea0
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov bl, 0x20
lea eax, [ebp + ebp*4]
lea ebp, [edi + eax*8]
test byte [esi + 0x1c], bl
jne 0x44314f
mov edi, esi
call fcn.004396c0
test byte [esi + 0x1c], bl
je 0x43f9bd
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
mov edi, dword [esi]
push ecx
push edx
call fcn.00427300
add esp, 8
jmp 0x4412e9
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x44415f
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 0x20
lea ebx, [edi + ecx*8]
je 0x4431b4
mov eax, dword [ebx]
lea esi, [esp + 0x60]
call fcn.00427660
test eax, eax
je 0x4431b4
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ebp, dword [ebp + 0xc]
push edx
lea ecx, [ebp + ebp*4]
push eax
lea eax, [edi + ecx*8]
call fcn.004395c0
add esp, 8
jmp case.0x43f557.17
push ebx
call fcn.00439520
mov ebp, dword [ebp + 8]
add esp, 4
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [ebp + 0x10]
lea esi, [edi + edx*8]
mov dword [esp + 0x60], eax
test byte [esi + 0x1c], 0x20
mov dword [esp + 0x2c], ebx
jne 0x443202
mov edi, esi
call fcn.004396c0
test byte [esi + 0x1c], 0x20
je 0x43f9bd
mov eax, dword [esp + 0x60]
test eax, eax
je 0x44324a
jl 0x44320d
and eax, 0xf
jmp 0x443212
mov eax, 0xff
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
mov bl, al
mov eax, dword [esi]
push edx
call fcn.004276e0
add esp, 8
mov dword [esp + 0x64], eax
test eax, eax
je 0x44323a
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp 0x4412e9
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
test eax, eax
jl 0x4412e9
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, dword [esi]
push eax
push ecx
call fcn.00427300
add esp, 8
jmp 0x4412e9
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
mov dword [esp + 0x68], esi
cmp byte [ebp + 3], 0
je 0x4432a7
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xdc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x74], eax
test eax, eax
je 0x4432a7
cmp dword [eax + 0x20], edx
je 0x4412e9
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x443293
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xe0]
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x70]
jl 0x4432da
mov edi, dword [esp + 0x1c]
push str.too_many_levels_of_trigger_recursion
add edi, 0x5c
mov eax, edx
mov dword [esp + 0x14], 1
call fcn.00420ba0
jmp 0x4412e6
test byte [esi + 0x1c], 0x40
jne 0x4433f9
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov esi, edx
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, esi
mov dword [esp + 0x64], edi
call fcn.00420a00
mov dword [esp + 0x74], eax
test eax, eax
je 0x43f9bd
mov edx, dword [esp + 0x68]
push edx
call fcn.00439270
mov ecx, dword [esp + 0x6c]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x6c]
mov dword [eax], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x34]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [esp + 0x78]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x78]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0x24]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8 + 0x40]
lea ecx, [edx + 0x40]
add esp, 4
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ecx
cmp ecx, edi
je 0x443407
mov edx, 1
mov word [ecx + 0x1c], dx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x10], esi
mov ecx, dword [esp + 0x6c]
add ecx, 0x28
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x70]
jne 0x4433d2
mov edx, dword [esp + 0x74]
jmp 0x443407
mov edx, dword [esi]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x74], edx
inc dword [eax + 0xe0]
mov ecx, dword [eax + 0xdc]
mov dword [edx + 0x3c], ecx
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x30], edx
mov edx, dword [esi + 0x34]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x34], edx
mov edx, dword [eax + 0x6c]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x38], edx
mov edx, dword [esp + 0x74]
lea ecx, [edx + 0x18]
mov dword [eax + 0xdc], edx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x6c], 0
mov esi, dword [edx + 0x24]
mov dword [eax + 0x48], esi
mov dx, word [edx + 0x28]
mov word [eax + 0x32], dx
mov edx, esi
inc edx
lea edx, [edx + edx*4]
mov dword [esp + 0x18], ecx
lea ecx, [ecx + edx*8]
mov edx, dword [esp + 0x78]
mov dword [eax + 0x34], ecx
mov ecx, dword [edx]
mov dword [eax + 0x14], ecx
mov edx, dword [edx + 4]
mov dword [esp + 0x38], ecx
mov dword [eax + 0xc], edx
mov dword [esp + 0x24], 0xffffffff
jmp 0x4412e9
mov ecx, dword [esi + 0xdc]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [ebp + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [esp + 0x6c], eax
call fcn.004397b0
add esp, 8
jmp case.0x43f557.17
cmp dword [ebp + 4], 0
mov eax, dword [ebp + 8]
cdq
je 0x4434e2
add dword [ebx + 0x1e0], eax
adc dword [ebx + 0x1e4], edx
jmp case.0x43f557.17
add dword [esi + 0xc8], eax
adc dword [esi + 0xcc], edx
jmp case.0x43f557.17
cmp dword [ebp + 4], 0
je 0x443518
mov edx, dword [ebx + 0x1e0]
or edx, dword [ebx + 0x1e4]
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [esi + 0xc8]
or eax, dword [esi + 0xcc]
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov ecx, dword [esi + 0xdc]
test ecx, ecx
je 0x44356b
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x44355d
lea esp, [esp]
mov ecx, eax
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x443550
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea esi, [eax + edx*8]
jmp 0x443574
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
mov dword [esp + 0x60], esi
call fcn.00439420
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea esi, [edi + edx*8]
call fcn.00439420
mov ecx, dword [esp + 0x60]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg 0x4412e9
jl 0x4435ac
mov edx, dword [ecx]
cmp edx, eax
jae 0x4412e9
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 4], esi
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], 0
jl 0x4412e9
jg 0x4435d7
cmp dword [edi + eax*8], 0
jbe 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], 0
jg 0x4412e9
jl 0x443601
cmp dword [edi + eax*8], 0
jae 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea ecx, [edi + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
movzx ecx, byte [ebp + 3]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [esi + 0x24]
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x44368c
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xb0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x6c]
call fcn.0043f140
mov eax, dword [esp + 0x64]
add dword [esp + 0x6c], 0x28
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x443661
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], eax
inc dword [eax + 0x18]
xor edi, edi
mov eax, 1
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x88], esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
test byte [eax + 3], 8
je 0x4436ff
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x78]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xa4], edi
je 0x44374f
mov bl, 1
lea edi, [esp + 0x78]
call fcn.00439e80
mov edi, dword [esp + 0x1c]
push eax
push 0x4d1854
add edi, 0x5c
mov eax, esi
call fcn.00420ba0
mov ecx, dword [esp + 0xac]
add esp, 8
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x78]
push edx
call fcn.00439270
jmp 0x4412e6
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 0x10]
call fcn.00439190
mov dword [esp + 0x10], eax
test eax, eax
je 0x4437a3
mov edi, dword [esp + 0x60]
mov bl, 1
call fcn.00439e80
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x4d1854
add edi, 0x5c
call fcn.00420ba0
mov edi, dword [esp + 0x20]
add esp, 8
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x60]
call fcn.00438ea0
mov ecx, dword [esp + 0x60]
call fcn.00439780
test eax, eax
jne 0x440060
jmp case.0x43f557.17
mov ecx, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
push ecx
call fcn.00479c90
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x43f557.17
mov eax, dword [esp + 0x3c]
cmp dword [eax], 0
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x68], edx
jne 0x443809
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
call fcn.0043adb0
mov ebx, dword [esp + 0x3c]
call fcn.0042ddb0
mov edx, dword [esp + 0x68]
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax + 4]
mov esi, dword [ecx]
mov dword [esp + 0x64], esi
movzx ebx, byte [esi + 5]
mov dword [esp + 0x6c], ebx
cmp edx, 0xffffffff
jne 0x44383a
mov edx, ebx
mov dword [esp + 0x68], edx
cmp byte [esi + 0xe], 3
jae 0x443856
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x44385c
cmp dword [esi + 0x4c], 0
jl 0x44385c
jg 0x443856
cmp dword [esi + 0x48], 0
jbe 0x44385c
mov edx, ebx
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x90]
mov dword [esp + 0x70], eax
cmp edx, 5
jne 0x443886
cmp byte [eax], 0
je 0x44387b
mov eax, esi
call fcn.0042b940
test eax, eax
jne 0x443886
mov edx, ebx
mov dword [esp + 0x68], edx
jmp 0x443944
cmp edx, ebx
je 0x443944
cmp ebx, 5
je 0x44389c
cmp edx, 5
jne 0x443944
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x1c], 0
je 0x443907
cmp dword [eax + 0x8c], 1
jg 0x443907
cmp ebx, 5
jne 0x4438cb
call fcn.0042b9e0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4438fd
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
jmp 0x4438d5
cmp ebx, 4
jne 0x4438de
lea ecx, [ebx - 2]
mov eax, esi
call fcn.0042b830
mov edx, dword [esp + 0x68]
xor ecx, ecx
cmp edx, 5
mov edx, dword [esp + 0x60]
sete cl
inc ecx
push ecx
push edx
call fcn.00437c10
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x44393c
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x68], edx
jmp 0x443940
mov dword [esp + 0x10], 1
mov eax, str.into
cmp edx, 5
je 0x44391e
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
add edi, 0x5c
call fcn.00420ba0
add esp, 8
jmp 0x4412e9
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ecx, edx
mov eax, esi
call fcn.0042b830
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea edx, [edi + eax*8]
mov ecx, 0xa02
mov word [edx + 0x1c], cx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], edx
cmp eax, 6
jne 0x443975
xor ecx, ecx
jmp 0x44397c
mov ecx, dword [eax*4 + 0x4cd668]
mov dword [edx + 0x14], ecx
call fcn.004226e0
movzx ecx, byte [esp + 0x28]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.00438ea0
jmp case.0x43f557.17
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add eax, 0x5c
call fcn.0046e1c0
mov dword [esp + 0x10], eax
jmp case.0x43f557.17
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x60], eax
call fcn.00430fe0
mov dword [esp + 0x10], eax
cmp eax, 0x65
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], 0
jmp case.0x43f557.17
cmp dword [ebp + 4], 0
jne 0x4439ff
mov eax, ebx
call fcn.0043d000
jmp case.0x43f557.17
mov byte [esi + 0x62], 1
jmp case.0x43f557.17
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x443a1c
test dword [ebx + 0xc], 0x80000
jne 0x4412e9
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.00437b50
add esp, 4
mov dword [esp + 0x10], eax
cmp al, 6
jne 0x4412e9
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x443924
mov ebp, dword [ebp + 0x10]
mov eax, ebp
mov ecx, ebx
mov dword [esp + 0x60], ebp
call fcn.0046f550
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4412e9
mov ecx, dword [eax + 8]
push ecx
push esi
call fcn.0043f3a0
add esp, 8
jmp case.0x43f557.17
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
add esi, 0x5c
push esi
push edx
mov ecx, ebx
call fcn.0046f0b0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x43f557.17
mov byte [esi + 0x65], 2
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
mov ecx, ebx
call fcn.0046f350
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esi + 0x65], 0
jmp case.0x43f557.17
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
lea edx, [esp + 0x64]
push edx
mov dword [esp + 0x70], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
push ecx
mov esi, eax
push edx
mov dword [esp + 0x20], esi
call fcn.0043f3a0
add esp, 0x10
cmp esi, ebx
jne 0x4412e9
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push ebx
push 0xffffffffffffffff
mov dword [ecx], eax
mov edx, dword [ebp + 4]
push ebx
mov ebx, dword [esp + 0x28]
push edx
call fcn.0043f170
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x443b4b
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x40], ecx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x44], ecx
jmp case.0x43f557.17
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.0x43f557.17
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x34]
mov edi, dword [edi + 0x24]
mov dword [esp + 0x6c], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x7c], ecx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x74], edx
mov ecx, dword [edx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi]
mov dword [esp + 0x60], ecx
mov eax, dword [eax]
mov dword [esp + 0x64], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], eax
jle 0x443c16
jmp 0x443bd4
mov esi, dword [esp + 0x70]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x88]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + edx*4]
call fcn.0043f140
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x84], eax
jl 0x443bd0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov byte [esi + 0x65], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov edi, eax
mov eax, dword [esp + 0x8c]
add esp, 0x14
push eax
push esi
mov dword [esp + 0x18], edi
mov byte [esi + 0x65], 0
call fcn.0043f3a0
add esp, 8
test edi, edi
jne 0x443c74
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
je 0x443c86
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x7c]
mov byte [ecx + 0x14], 0
jmp 0x4412e9
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x68], eax
cmp byte [esi + 0x14], 0
je 0x443cc1
push eax
call fcn.00439520
add esp, 4
jmp case.0x43f557.17
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
push 0x40
mov dword [esp + 0x64], eax
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push 0
push edx
mov dword [esp + 0x70], ecx
call fcn.004a2540
mov ebx, dword [esp + 0x74]
add esp, 0xc
lea eax, [esp + 0x78]
call fcn.00439860
mov eax, dword [esp + 0x94]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x94], ax
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x40]
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x74]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
add esp, 0xc
push eax
push ecx
call fcn.0043f3a0
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x443d43
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x28]
lea eax, [esp + 0x78]
call fcn.00438ea0
mov eax, dword [esp + 0x68]
lea ebx, [esp + 0x78]
call fcn.00439860
mov ecx, dword [esp + 0x68]
call fcn.00439780
test eax, eax
jne 0x440060
jmp case.0x43f557.17
mov eax, dword [esi + 0x34]
mov dword [esp + 0x68], 0
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x6c], eax
cmp byte [eax + 0x14], 0
jne case.0x43f557.17
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov byte [ebx + 0x65], 1
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
mov esi, eax
push ebx
mov dword [esp + 0x18], esi
mov byte [ebx + 0x65], 0
call fcn.0043f3a0
add esp, 8
test esi, esi
jne 0x443dea
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], 0
jne 0x4412e9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x24], ebp
jmp case.0x43f557.17
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
push eax
push esi
call fcn.0043f3a0
add esp, 0x10
mov byte [esi + 0x62], 0
jmp case.0x43f557.17
mov ecx, dword [ebp + 0x10]
mov esi, dword [ecx + 8]
mov dword [esp + 0x60], esi
mov edx, dword [esi]
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], eax
cmp dword [edx + 0x34], 0
je 0x4412e9
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], 0
test eax, eax
jle 0x443ebe
call fcn.0043f140
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
inc edx
add ecx, 0x28
cmp edx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], edx
jl 0x443e86
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edx, dword [edx + 0x34]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
push eax
push esi
call edx
mov esi, eax
mov eax, dword [esp + 0x70]
push eax
push ebx
mov dword [esp + 0x28], esi
call fcn.0043f3a0
add esp, 0x18
test esi, esi
jne 0x443efe
cmp dword [ebp + 4], esi
je 0x443efe
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 0x34], edx
inc dword [ebx + 0x6c]
jmp case.0x43f557.17
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 8]
shl eax, 4
mov edx, dword [eax + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], 0
jmp case.0x43f557.17
mov ebp, dword [ebp + 0x10]
mov ecx, ebp
test ebp, ebp
jne 0x443f3a
mov ecx, dword [esi + 0xbc]
mov dword [esp + 0x60], ecx
test ecx, ecx
je case.0x43f557.17
cmp dword [ebx + 0x94], 0
je case.0x43f557.17
mov edx, dword [esp + 0x1c]
push edx
call fcn.0043ee00
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x94]
mov esi, eax
mov eax, dword [ebx + 0x98]
add esp, 4
push esi
push eax
call ecx
push esi
push ebx
call fcn.00420800
add esp, 0x10
jmp case.0x43f557.17
mov dword [esp + 0x10], 9
jmp 0x440080
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x58], edx
mov al, byte [ebp + 8]
mov byte [esi + 0x38], al
mov dword [esi + 0x54], ecx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x443fe4
mov esi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x4d1854
lea edi, [esi + 0x5c]
call fcn.00420ba0
mov edx, dword [ebp + 0x10]
mov eax, dword [esi + 0xbc]
mov ecx, dword [esp + 0x2c]
push edx
push eax
mov eax, dword [ebp + 4]
push ecx
push str.abort_at__d_in___s_:__s
call fcn.00421e90
add esp, 0x18
jmp 0x444004
test edx, edx
je 0x444004
mov edx, dword [esi + 0xbc]
mov eax, dword [esp + 0x24]
push edx
push eax
mov eax, dword [ebp + 4]
push str.constraint_failed_at__d_in___s_
call fcn.00421e90
add esp, 0xc
push esi
call fcn.0043be90
add esp, 4
cmp eax, 5
jne 0x444020
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [ecx + 0x58], esi
jmp 0x4400da
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x4400da
lea ecx, [esp + 0x70]
push ecx
call fcn.00439270
add esp, 4
jmp 0x43f9bd
mov dword [esp + 0x10], 0x14
jmp 0x444118
mov edx, dword [esp + 0x24]
mov dword [edi + 0x54], edx
mov byte [esi + 0x1c], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x4400da
test ebp, ebp
je 0x44409b
mov eax, ebx
call fcn.00479350
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov byte [ebx + 0x1c], 1
call fcn.00478f50
mov esi, dword [edi + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x4400da
mov edi, dword [esp + 0x1c]
push 1
mov ecx, edi
call fcn.0043be30
mov esi, eax
add esp, 4
test esi, esi
jne 0x4400da
mov al, byte [esp + 0x60]
mov esi, dword [esp + 0x14]
push edi
mov byte [esi + 0x1c], al
call fcn.0043be90
add esp, 4
cmp eax, 5
jne 0x444084
mov ecx, dword [esp + 0x24]
mov dl, 1
sub dl, byte [esp + 0x60]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x1c], dl
mov esi, eax
mov dword [edi + 0x58], esi
jmp 0x4400da
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov esi, 5
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], esi
jmp 0x4400da
mov eax, 0xf64e
call fcn.0047a990
mov dword [esp + 0x10], eax
jmp 0x444118
mov dword [esp + 0x10], 0xd
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x1e], 0
je 0x44412c
mov dword [esp + 0x10], 7
jmp 0x44413a
cmp dword [esp + 0x10], 0xc0a
je 0x440080
mov eax, dword [esp + 0x10]
call fcn.00479420
mov edi, dword [esp + 0x1c]
push eax
push 0x4d1854
add edi, 0x5c
mov eax, edx
call fcn.00420ba0
add esp, 8
jmp 0x440080
mov eax, 9
mov dword [esp + 0x10], eax
mov dword [esi + 0x58], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x444179
mov eax, str.unknown_error
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x4d1854
add edi, 0x5c
call fcn.00420ba0
add esp, 8
jmp 0x440080