Function at 0x56b360
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xbc
push ebx
mov ebx, dword [esp + 0xc4]
push esi
mov esi, dword [ebx + 8]
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov dword [esp + 0x3c], esi
test esi, esi
je 0x56b386
mov dword [esp + 0x78], esi
jmp 0x56b3b4
cmp dword [ebx + 0x80], 0
jne 0x56b399
test byte [eax + 0x50], 8
jne 0x56b399
mov byte [ebx + 0x17], 1
push ebx
call fcn.0057f600
mov esi, eax
add esp, 4
mov dword [esp + 0x3c], esi
mov dword [esp + 0x78], esi
test esi, esi
je 0x56b784
mov ecx, dword [esi + 0x6c]
lea eax, [esi + 0x70]
push edi
lea edi, [esi + 0x6c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], edi
cmp dword [eax], ecx
jg 0x56b3e3
push 0
push 1
push 1
push 0xa6
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56b415
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xd4]
mov ecx, dword [ebx]
mov dword [ebx + 0x2c], 2
push ebp
cmp dword [eax + 4], 0
jbe 0x56b48f
cmp byte [ecx + 0xb1], 0
je 0x56b44e
push str.corrupt_database
push ebx
call fcn.0054d2c0
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
mov ebp, dword [esp + 0xd4]
push ebp
push ecx
mov dword [esp + 0x30], eax
call fcn.00553650
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x56b489
push ebp
push str.unknown_database__T
push dword [esp + 0xd8]
call fcn.0054d2c0
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
mov dword [esp + 0x6c], eax
jmp 0x56b4a5
movzx ebx, byte [ecx + 0xb0]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0x10]
mov eax, ebx
shl eax, 4
mov dword [esp + 0x24], eax
mov ebp, dword [ecx + 0x10]
add ebp, eax
mov dword [esp + 0x20], ebp
cmp ebx, 1
jne 0x56b4d7
push dword [esp + 0xd0]
call fcn.005674c0
add esp, 4
test eax, eax
jne 0x56b782
push dword [esp + 0x28]
push dword [esp + 0x14]
call fcn.00566d40
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
je 0x56b782
cmp dword [esp + 0xe0], 0
push dword [esp + 0xdc]
je 0x56b51d
push 0x61e498
push dword [esp + 0x18]
call fcn.005660d0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
jmp 0x56b52f
push dword [esp + 0x14]
call fcn.00566d40
add esp, 8
mov dword [esp + 0x14], eax
mov ecx, eax
mov eax, dword [esp + 0xd8]
cmp dword [eax + 4], 0
jbe 0x56b541
mov ebp, dword [ebp]
jmp 0x56b543
xor ebp, ebp
push ebp
push ecx
push dword [esp + 0x44]
mov dword [esp + 0x4c], ebp
push 0x13
push dword [esp + 0xe0]
call fcn.00540670
add esp, 0x14
test eax, eax
jne 0x56b75f
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x34], 1
test eax, eax
je 0x56b5b9
push eax
call dword [0x645f88]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebp, ebp
je 0x56b5d2
push ebp
push ecx
call fcn.005536d0
mov ebp, eax
add esp, 8
test ebp, ebp
jns 0x56b5d4
jmp 0x56b65d
xor ebp, ebp
mov eax, dword [esp + 0x10]
add ebp, ebp
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + ebp*8 + 4]
test ebp, ebp
je 0x56b65d
cmp byte [ebp + 9], 0
je 0x56b5fd
inc dword [ebp + 0xc]
cmp byte [ebp + 0xa], 0
jne 0x56b5fd
push ebp
call fcn.004edaf0
add esp, 4
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x56b623
mov dword [esp + 0x34], 0xc
jmp 0x56b63a
lea edx, [esp + 0xac]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x1c8], eax
cmp byte [ebp + 9], 0
je 0x56b65d
add dword [ebp + 0xc], 0xffffffff
jne 0x56b65d
push ebp
call fcn.0059ad30
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x56b672
push eax
call dword [0x645f90]
add esp, 4
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x56b796
push 1
push esi
call fcn.0058c8b0
push 0xffffffffffffffff
push dword [esp + 0xb8]
push ebp
push ebp
push esi
call fcn.0058c860
mov ebx, dword [esp + 0xc8]
add esp, 0x1c
test ebx, ebx
je 0x56b75f
push ebp
push ebx
push ebp
push 1
push ebp
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56b6d6
push ebp
push 1
push 1
push 0x54
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56b708
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0xac]
test ebx, ebx
je 0x56b75f
cmp dword [0x645f38], 0
je 0x56b78d
mov eax, dword [0x64de48]
test eax, eax
je 0x56b72f
push eax
call dword [0x645f88]
add esp, 4
push ebx
call dword [0x645f64]
sub dword [0x64dde8], eax
dec dword [0x64de0c]
push ebx
call dword [0x645f5c]
mov eax, dword [0x64de48]
add esp, 8
test eax, eax
je 0x56b75f
push eax
call dword [0x645f90]
add esp, 4
mov ebp, dword [esp + 0x10]
push dword [esp + 0x3c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x56b782
push eax
push ebp
call fcn.0054aa60
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
push ebx
call dword [0x645f5c]
jmp 0x56b75c
cmp ebp, 0xc
je 0x56b848
mov eax, dword [esp + 0xac]
test eax, eax
je 0x56b836
push eax
push 0x61b3f4
push dword [esp + 0xd8]
call fcn.0054d2c0
mov esi, dword [esp + 0xb8]
add esp, 0xc
test esi, esi
je 0x56b836
cmp dword [0x645f38], 0
je 0x56b82c
mov eax, dword [0x64de48]
test eax, eax
je 0x56b7ea
push eax
call dword [0x645f88]
add esp, 4
push esi
call dword [0x645f64]
sub dword [0x64dde8], eax
dec dword [0x64de0c]
push esi
call dword [0x645f5c]
mov eax, dword [0x64de48]
add esp, 8
test eax, eax
je 0x56b836
push eax
call dword [0x645f90]
mov eax, dword [esp + 0xd4]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebp
jmp 0x56b75f
push esi
call dword [0x645f5c]
add esp, 4
mov eax, dword [esp + 0xd0]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebp
jmp 0x56b75f
push dword [esp + 0x3c]
call fcn.005333f0
mov ebp, eax
add esp, 4
mov dword [esp + 0x7c], ebp
test ebp, ebp
je 0x56b75f
test byte [ebp + 5], 1
je 0x56b87f
push dword [esp + 0xd0]
call fcn.005713e0
add esp, 4
test eax, eax
jne 0x56b75f
mov al, byte [ebp + 5]
test al, 2
jne 0x56b89c
test al, 4
je 0x56b892
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x56b8a0
push ebp
push esi
call fcn.0053c7e0
add esp, 8
mov edx, dword [esp + 0x14]
movzx eax, byte [ebp + 4]
dec eax
cmp eax, 0x2a
ja case.0x56b8ae.5
jmp dword [eax*4 + 0x57007c]
push ebx
push esi
call fcn.0058d610
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x56b909
mov eax, dword [esp + 0xd0]
push 0
push 0x6181f4
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.0057efc0
push dword [esp + 0x4c]
push dword [esp + 0x24]
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
call fcn.0054aa60
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
push ecx
push eax
call fcn.00560bf0
push dword [esp + 0x30]
call fcn.0053cd40
push ebx
push 0
push dword [esp + 0xe4]
mov edi, eax
call fcn.00541490
push edi
push 3
push ebx
push 0x64
push esi
call fcn.0057ee30
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [edx + 0xc]
push dword [eax + 0x50]
push dword [edx + 4]
call fcn.005455d0
push dword [esp + 0x70]
mov ebp, dword [esp + 0x48]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x50]
add esp, 0x3c
jmp 0x56b778
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edi, dword [edx + 4]
test eax, eax
jne 0x56b9d7
test edi, edi
je 0x56b9b1
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
push edx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x48]
push dword [esp + 0x20]
call fcn.0054aa60
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x48]
push dword [esp + 0x20]
call fcn.0054aa60
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
push ecx
push eax
call fcn.00560bf0
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
push 0
push 0
push eax
push edi
mov dword [ebp + 0x64], eax
call fcn.005456d0
add esp, 0x18
cmp eax, 7
jne 0x56b763
push ebp
call fcn.00567010
push dword [esp + 0x40]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x56b778
mov edx, dword [esp + 0x20]
or ebp, 0xffffffff
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 0x38], eax
test edi, edi
je 0x56ba63
push str.fast
push edi
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56ba55
lea ebp, [eax + 2]
jmp 0x56ba63
push 0
push edi
call fcn.00560970
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0xd8]
cmp dword [eax + 4], 0
jne 0x56baa0
test ebp, ebp
js 0x56baa0
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x56baa0
xor edi, edi
mov esi, eax
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.005454e0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x56ba83
mov esi, dword [esp + 0x44]
push ebp
push dword [esp + 0x3c]
call fcn.005454e0
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0x14
jmp 0x56b75f
mov edi, dword [esp + 0xd0]
xorps xmm0, xmm0
push ebx
push edi
movlpd qword [esp + 0x68], xmm0
call fcn.00547a60
mov eax, dword [esp + 0x44]
add esp, 8
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x612ca8], 0x70
jne 0x56bb0e
push edi
push ebx
push 0xb2
push esi
call fcn.0057edd0
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.0057edd0
add esp, 0x10
jmp 0x56b75f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x56bb54
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.0054b040
add esp, 8
test eax, eax
jne 0x56bb54
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
test ecx, ecx
jg 0x56bb45
jl 0x56bb54
test eax, eax
jb 0x56bb54
test ecx, ecx
jl 0x56bb61
jg 0x56bb45
cmp eax, 0xfffffffe
jbe 0x56bb61
mov eax, 0xfffffffe
mov dword [esp + 0x64], 0
jmp 0x56bb61
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x60]
push eax
push edi
push ebx
push 0xb3
push esi
call fcn.0057ee30
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.0057edd0
add esp, 0x10
jmp 0x56b75f
test edx, edx
je 0x56bbb9
push str.exclusive
push edx
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56bba0
lea ecx, [eax + 1]
jmp 0x56bbbc
push str.normal
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56bbb9
xor ecx, ecx
jmp 0x56bbbc
or ecx, 0xffffffff
mov eax, dword [esp + 0xd8]
mov ebp, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x56bc25
cmp ecx, 0xffffffff
jne 0x56bbd8
movzx eax, byte [ebp + 0x59]
jmp 0x56bc3a
mov edx, 2
cmp dword [ebp + 0x14], edx
jle 0x56bc22
mov edi, 0x20
nop word [eax + eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x56bc19
cmp byte [eax + 0xc], 0
jne 0x56bc19
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x56bc16
cmp byte [ebx + 0x2b], 2
je 0x56bc19
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x56bbf0
mov byte [ebp + 0x59], cl
mov edx, dword [esp + 0x20]
push ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.005686d0
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.00539d00
add esp, 8
jmp 0x56b763
test edx, edx
je 0x56bcaf
mov edi, edx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x56bc62
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x56bcaf
mov eax, dword [ebx*4 + 0x618188]
test eax, eax
je 0x56bcaf
push edi
push eax
push edx
call fcn.004d48d0
add esp, 0xc
test eax, eax
je 0x56bc99
mov edx, dword [esp + 0x14]
inc ebx
jmp 0x56bc73
cmp ebx, 2
jne 0x56bcce
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x56bcd3
or ebx, 0xffffffff
mov ecx, dword [esp + 0xd8]
cmp dword [ecx + 4], 0
jne 0x56bcda
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x6c], edx
jmp 0x56bcde
cmp ebx, 0xffffffff
je 0x56bcb2
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x14]
sub edi, 1
js 0x56bd60
mov ebp, edi
shl ebp, 4
nop
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x56bd49
cmp edi, edx
je 0x56bd08
cmp dword [ecx + 4], 0
jne 0x56bd49
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x56bd3a
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x56bd3a
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
push ebx
push 1
push edi
push 4
push esi
call fcn.0057ee30
add esp, 0x14
mov ecx, dword [esp + 0xd8]
sub ebp, 0x10
sub edi, 1
mov edx, dword [esp + 0x6c]
jns 0x56bcf0
mov ebp, dword [esp + 0x10]
push 1
push 1
push 0x54
push esi
call fcn.0057edd0
add esp, 0x10
jmp 0x56b763
mov edx, dword [esp + 0x20]
or ecx, 0xffffffff
mov dword [esp + 0x64], ecx
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x60], eax
test edx, edx
je 0x56bdc5
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
mov ecx, dword [esp + 0x6c]
add esp, 8
cmp ecx, 0xffffffff
jg 0x56bdc1
jl 0x56bdba
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jae 0x56bdc5
or eax, 0xffffffff
or ecx, eax
jmp 0x56bdc5
mov eax, dword [esp + 0x60]
cmp ecx, 0xffffffff
jl 0x56bded
jg 0x56bdd1
cmp eax, 0xffffffff
jb 0x56bded
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x56bded
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b75f
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov ebp, dword [edx + 4]
test eax, eax
jne 0x56be40
push ebp
call fcn.00543210
cdq
push edx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x4c]
push dword [esp + 0x24]
call fcn.0054aa60
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
push str.none
push eax
call fcn.005794f0
add esp, 8
test eax, eax
je 0x56beb5
push str.full
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56be6e
mov eax, 1
jmp 0x56beb5
push str.incremental
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56be8a
mov eax, 2
jmp 0x56beb5
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push dword [esp + 0x18]
call fcn.00560bf0
mov eax, dword [esp + 0x30]
xor edx, edx
add esp, 8
movzx ecx, al
cmp eax, 2
cmova ecx, edx
movzx eax, cl
mov ecx, dword [esp + 0x10]
push eax
push ebp
mov dword [esp + 0x38], eax
mov byte [ecx + 0x5a], al
call fcn.00545550
add esp, 8
test eax, eax
jne 0x56b75f
mov ebp, dword [esp + 0x30]
cmp ebp, 1
je 0x56bee4
cmp ebp, 2
jne 0x56b75f
mov edi, dword [edi]
push 0
push 0x61823c
push 5
push esi
call fcn.0057efc0
lea ecx, [edi + 4]
push ebx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebp - 1]
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x54], ebx
mov dword [eax + 0x5c], ecx
call fcn.0058d610
push dword [esp + 0x54]
mov ebp, dword [esp + 0x2c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x34]
add esp, 0x20
jmp 0x56b778
mov dword [esp + 0x28], 0
test edx, edx
je 0x56bf51
lea eax, [esp + 0x28]
push eax
push edx
call fcn.00560bf0
add esp, 8
test eax, eax
je 0x56bf51
mov edi, dword [esp + 0x28]
test edi, edi
jg 0x56bf56
mov edi, closesocket
push ebx
push 0
push dword [esp + 0xd8]
call fcn.00541490
push 1
push edi
push 0x47
push esi
call fcn.0057edd0
push ebx
push 0x3e
push esi
call fcn.0057ed70
push 1
push 0x54
push esi
mov edi, eax
call fcn.0057ed70
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.0057edd0
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.0057edd0
push edi
push esi
call fcn.00589b40
add esp, 0x18
jmp 0x56b75f
test edx, edx
jne 0x56bfe0
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x48]
push dword [esp + 0x20]
call fcn.0054aa60
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edx
call fcn.00560bf0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov ecx, dword [edx + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [edx + 0xc]
push dword [eax + 0x50]
push dword [edx + 4]
call fcn.005455d0
push dword [esp + 0x4c]
mov ebp, dword [esp + 0x24]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x2c]
add esp, 0x18
jmp 0x56b778
test edx, edx
jne 0x56c05a
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
jne 0x56c042
cdq
push edx
jmp 0x56c5b7
mov edx, dword [esp + 0x20]
push 0
push dword [edx + 4]
call fcn.00545800
add esp, 8
cdq
push edx
jmp 0x56c5b7
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 1
push eax
push edx
call fcn.00560bf0
mov esi, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x56c088
mov edx, dword [esp + 0x20]
push esi
push dword [edx + 4]
call fcn.00545800
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x18]
call fcn.00560970
mov ebp, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
test al, al
je 0x56c0b0
or ecx, 0x20
jmp 0x56c0b3
and ecx, 0xffffffdf
mov dword [ebp + 0x20], ecx
push ebp
mov dword [ebp + 0x24], edx
call fcn.0053c510
push dword [esp + 0x40]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x20]
add esp, 0xc
jmp 0x56b778
test edx, edx
je 0x56c1eb
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
add esp, 8
cmp dword [esp + 0x64], 0
jg 0x56c10e
jl 0x56c0fb
cmp dword [esp + 0x60], 0
jae 0x56c10e
mov eax, dword [0x645fe0]
mov ecx, dword [0x645fe4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0x10]
cmp dword [eax + 4], 0
jne 0x56c12d
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ebp, dword [edx + 0x14]
sub ebp, 1
js 0x56c1eb
mov esi, dword [esp + 0xd8]
mov edi, ebp
shl edi, 4
mov dword [esp + 0x28], edi
nop dword [eax]
mov eax, dword [edx + 0x10]
mov edi, dword [edi + eax + 4]
test edi, edi
je 0x56c1d3
cmp ebp, ebx
je 0x56c165
cmp dword [esi + 4], 0
jne 0x56c1d3
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x38], eax
je 0x56c198
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x56c198
push edi
call fcn.004edaf0
mov eax, dword [esp + 0x3c]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x74]
push eax
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x8c], ecx
call fcn.0052d160
add esp, 4
cmp byte [edi + 9], 0
je 0x56c1cf
add dword [edi + 0xc], 0xffffffff
jne 0x56c1cf
push edi
call fcn.0059ad30
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
sub edi, 0x10
sub ebp, 1
mov dword [esp + 0x28], edi
jns 0x56c150
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x60]
push eax
push 0x12
push dword [esp + 0x48]
mov dword [esp + 0x6c], 0xffffffff
push ebp
mov dword [esp + 0x74], 0xffffffff
call fcn.004d0270
add esp, 0x10
test eax, eax
jne 0x56c22d
push dword [esp + 0x64]
push dword [esp + 0x64]
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
cmp eax, 0xc
je 0x56b763
mov ecx, dword [esp + 0xd0]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x56b763
test edx, edx
jne 0x56c25b
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
jmp 0x56c5b7
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x56c26d
movsx ebx, cl
sub ebx, 0x30
jmp 0x56c29f
push str.file
push edx
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56c284
lea ebx, [eax + 1]
jmp 0x56c29f
push str.memory
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0xd0]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x56b75f
push ecx
call fcn.0051f670
mov ebp, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x56b763
push dword [esp + 0x3c]
mov byte [esi + 0x56], bl
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
cmp byte [0x645f3c], 0
je 0x56c304
push 0xb
call dword [0x645f80]
add esp, 4
test eax, eax
je 0x56c304
push eax
call dword [0x645f88]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x56c324
push dword [0x64dd78]
push esi
call fcn.00539d00
mov ebp, dword [esp + 0x18]
add esp, 8
jmp 0x56c3e2
cmp byte [ecx], 0
mov ebp, dword [esp + 0x10]
je 0x56c397
mov eax, dword [ebp]
lea edx, [esp + 0x38]
push edx
push 1
push ecx
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x56c34b
cmp dword [esp + 0x38], eax
jne 0x56c397
push str.not_a_writable_directory
push dword [esp + 0xd4]
call fcn.0054d2c0
add esp, 8
cmp byte [0x645f3c], 0
je 0x56c381
push 0xb
call dword [0x645f80]
add esp, 4
test eax, eax
je 0x56c381
push eax
call dword [0x645f90]
add esp, 4
push dword [esp + 0x3c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
cmp byte [ebp + 0x56], 1
ja 0x56c3ac
push dword [esp + 0xd0]
call fcn.0051f670
add esp, 4
push dword [0x64dd78]
call fcn.004e51f0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x56c3d8
push eax
push 0x61b3f4
call fcn.004e4f00
add esp, 8
mov dword [0x64dd78], eax
jmp 0x56c3e2
mov dword [0x64dd78], 0
cmp byte [0x645f3c], 0
je 0x56b763
push 0xb
call dword [0x645f80]
add esp, 4
test eax, eax
je 0x56b763
push eax
call dword [0x645f90]
add esp, 4
jmp 0x56b763
cmp byte [0x645f3c], 0
je 0x56c433
push 0xb
call dword [0x645f80]
add esp, 4
test eax, eax
je 0x56c433
push eax
call dword [0x645f88]
add esp, 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x56c44c
push dword [0x64dd7c]
push esi
call fcn.00539d00
add esp, 8
jmp 0x56c4b1
cmp byte [ecx], 0
je 0x56c47b
mov ebp, dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
push 1
push ecx
mov eax, dword [ebp]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x56c34b
cmp dword [esp + 0x38], eax
je 0x56c34b
push dword [0x64dd7c]
call fcn.004e51f0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x56c4a7
push eax
push 0x61b3f4
call fcn.004e4f00
add esp, 8
mov dword [0x64dd7c], eax
jmp 0x56c4b1
mov dword [0x64dd7c], 0
cmp byte [0x645f3c], 0
je 0x56b75f
push 0xb
call dword [0x645f80]
add esp, 4
jmp 0x56b751
test edx, edx
jne 0x56c504
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x48]
push dword [esp + 0x20]
call fcn.0054aa60
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 0x55], 0
jne 0x56c535
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0xd4]
call fcn.0054d2c0
push dword [esp + 0x44]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x24]
add esp, 0x10
jmp 0x56b778
cmp ebx, 1
je 0x56b763
push 1
push 0
push edx
call fcn.0051da80
mov edx, dword [esp + 0x2c]
inc eax
and eax, 7
mov ecx, 1
push ebp
cmove eax, ecx
mov byte [edx + 8], al
mov byte [edx + 9], cl
call fcn.0053c510
push dword [esp + 0x4c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x2c]
add esp, 0x18
jmp 0x56b778
test edx, edx
jne 0x56c5d6
push ebp
push esi
call fcn.0053c7e0
mov ebx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
and ecx, dword [ebp + 8]
and eax, dword [ebp + 0xc]
or ecx, eax
je 0x56c5a5
mov eax, 1
xor ecx, ecx
jmp 0x56c5b6
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push ecx
push eax
push esi
call fcn.00539c70
push dword [esp + 0x48]
push ebx
call fcn.0054aa60
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 0x55], 0
jne 0x56c5ec
and edi, 0xffffbfff
push 0
push edx
call fcn.00560970
add esp, 8
test al, al
je 0x56c61a
mov eax, edi
and eax, 1
or eax, 0
je 0x56c612
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x56c668
or dword [ebp + 0x20], edi
or dword [ebp + 0x24], ebx
jmp 0x56c668
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [ebp + 0x20], ecx
and dword [ebp + 0x24], eax
cmp edi, 0x80000
jne 0x56c642
test ebx, ebx
jne 0x56c642
mov dword [ebp + 0x208], ebx
mov dword [ebp + 0x20c], ebx
jmp 0x56c668
and edi, 1
or edi, 0
je 0x56c668
push str.reset
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56c668
push ebp
call fcn.00572300
add esp, 4
push 0xa6
push esi
call fcn.0057ed20
push ebp
call fcn.0053c510
push dword [esp + 0x48]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x28]
add esp, 0x14
jmp 0x56b778
test edx, edx
je 0x56b75f
mov ebx, dword [esp + 0x40]
push ebx
push dword [esp + 0xd4]
call fcn.005479e0
push ebx
push dword [esp + 0x20]
mov ebx, dword [esp + 0xe0]
push 2
push ebx
call fcn.00565ac0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x70], edi
test edi, edi
je 0x56b75f
push edi
mov dword [esp + 0x7c], 0
call fcn.005707b0
push edi
push ebx
mov dword [esp + 0x44], eax
mov dword [ebx + 0x2c], 7
call fcn.0058d770
movzx eax, word [edi + 0x22]
xor ecx, ecx
mov ebx, dword [edi + 4]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x30], ecx
cmp dx, ax
jge 0x56b75f
mov dword [esp + 0x24], eax
nop dword [eax]
movzx edx, word [ebx + 0xe]
xor edi, edi
mov esi, edx
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x44]
test dl, 0x62
je 0x56c755
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
jne 0x56c739
inc dword [esp + 0x78]
jmp 0x56c87e
mov eax, dword [esp + 0x24]
test dl, 0x20
je 0x56c749
mov edi, 2
jmp 0x56c755
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x56c75e
xor edx, edx
jmp 0x56c795
mov ecx, dword [esp + 0x38]
mov edx, 1
test ecx, ecx
je 0x56c795
cwde
mov dword [esp + 0x74], eax
cmp eax, edx
jl 0x56c795
mov ecx, dword [ecx + 4]
mov ebp, eax
nop dword [eax]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x30]
je 0x56c791
inc edx
add ecx, 2
cmp edx, ebp
jle 0x56c780
mov ebp, dword [esp + 0x7c]
movzx eax, word [ebx + 0xc]
test ax, ax
jne 0x56c7a2
xor eax, eax
jmp 0x56c7ca
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x2b], 0
je 0x56c7b0
xor eax, eax
jmp 0x56c7ca
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x56c7bb
xor eax, eax
jmp 0x56c7ca
cmp dword [ecx], eax
jge 0x56c7c3
xor eax, eax
jmp 0x56c7ca
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
cmp edi, 2
jae 0x56c7dc
test eax, eax
je 0x56c7dc
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], ecx
jmp 0x56c7e4
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
mov dword [esp + 0x48], str.issisii
jne 0x56c7fc
mov dword [esp + 0x48], str.issisi
test byte [esp + 0x94], 4
je 0x56c822
mov ecx, dword [ebx]
lea eax, [ecx + 1]
mov dword [esp + 0x74], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x56c810
mov eax, dword [ebx]
sub ecx, dword [esp + 0x74]
inc eax
add ecx, eax
jmp 0x56c83b
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
je 0x56c836
mov ecx, dword [eax*4 + 0x64613c]
jmp 0x56c83b
mov ecx, section..rdata
push edi
push edx
push dword [esp + 0x30]
mov eax, ebx
mov dword [esp + 0x40], 4
mov edx, dword [esp + 0x40]
test byte [eax + edx], 0xf
mov eax, 0
setne al
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x88]
push ecx
push dword [ebx]
push eax
push dword [esp + 0x64]
push 1
push esi
call fcn.0058b720
mov ecx, dword [esp + 0x58]
add esp, 0x28
mov eax, dword [esp + 0x70]
inc ecx
add ebx, 0x10
mov dword [esp + 0x30], ecx
movzx eax, word [eax + 0x22]
mov edx, eax
cwde
cmp ecx, eax
mov dword [esp + 0x24], edx
mov eax, edx
jl 0x56c710
push dword [esp + 0x3c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x40]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.005479e0
mov ebp, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x84], 0
cmp dword [ebp + 0x14], 0
jle 0x56b763
xor edi, edi
mov dword [esp + 0x24], edi
test ebx, ebx
je 0x56c918
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax]
test eax, eax
je 0x56cbdd
push eax
push ebx
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56cbdd
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x56ca86
nop dword [eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x70], ebx
test eax, eax
je 0x56ca86
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x56c955
mov eax, dword [eax]
test eax, eax
jne 0x56c940
jmp 0x56ca86
push dword [ecx]
push str.SELECTFROM__w_
push ebp
call fcn.005660d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x56ca4a
push 0
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push 0
push 0
push 0xffffffffffffffff
push ebp
push dword [esp + 0x28]
call fcn.00565ce0
mov edi, dword [esp + 0x44]
add esp, 0x1c
test edi, edi
je 0x56ca36
mov ebx, dword [edi]
test ebx, ebx
jne 0x56c9cf
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.004d4a30
push 0x6214bc
push 0x15f3d
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.004d4a30
add esp, 0x1c
jmp 0x56ca32
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x56c9e0
push eax
call dword [0x645f88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x56c9fe
jg 0x56c9f4
cmp dword [edi + 0x88], 0
jbe 0x56c9fe
push edi
push ebx
call fcn.0051f6c0
add esp, 8
push edi
call fcn.0058c3d0
push edi
mov dword [esp + 0x50], eax
call fcn.0057f700
mov eax, dword [esp + 0x50]
add esp, 8
cmp byte [ebx + 0x57], 0
jne 0x56ca1f
test eax, eax
je 0x56ca29
push eax
push ebx
call fcn.004e9c40
add esp, 8
push ebx
call fcn.00564be0
add esp, 4
mov ebx, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x14]
push ebp
call fcn.0054aa60
mov edi, dword [esp + 0x2c]
add esp, 8
jmp 0x56ca4e
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 0x57], 0
je 0x56ca74
push 0x612724
push dword [ebp + 0x10c]
call fcn.0054d2c0
mov eax, dword [ebp + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x56c930
mov edi, dword [edx + 8]
mov dword [esp + 0x30], edi
test edi, edi
je 0x56cbd5
mov ecx, dword [esp + 0x14]
nop dword [eax]
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x56cac3
mov eax, dword [ebx]
test eax, eax
je 0x56cbc7
push eax
push ecx
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56cbc3
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x56cad4
mov dword [esp + 0x34], str.view
jmp 0x56cafa
cmp al, 1
jne 0x56cae2
mov dword [esp + 0x34], str.virtual
jmp 0x56cafa
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x34], eax
mov ebp, dword [ebx]
mov edx, 7
test ebp, ebp
je 0x56cb85
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x56cb32
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x612ca8]
cmp al, byte [ecx + 0x612ca8]
jne 0x56cb32
inc edi
inc ebx
test edx, edx
jg 0x56cb10
dec edx
test edx, edx
js 0x56cb4e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x612ca8]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x612ca8]
sub eax, ecx
jne 0x56cb81
lea edi, [ebp + 7]
push 0x61be13
push edi
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56cb6a
mov ebp, str.sqlite_schema
jmp 0x56cb81
push 0x61bff7
push edi
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56cb81
mov ebp, str.sqlite_temp_schema
mov edi, dword [esp + 0x30]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push dword [esp + 0x40]
push ebp
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.0058b720
add esp, 0x24
mov ecx, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x30], edi
test edi, edi
jne 0x56caa0
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
add edi, 0x10
inc eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x84], eax
cmp eax, dword [ebp + 0x14]
jl 0x56c8f4
jmp 0x56b763
test edx, edx
je 0x56b75f
mov edi, dword [esp + 0x40]
push edi
push edx
push dword [esp + 0x18]
call fcn.00554290
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x56cc5f
push edi
push dword [esp + 0x18]
mov edi, dword [esp + 0xd8]
push 2
push edi
call fcn.00565ac0
add esp, 0x10
test eax, eax
je 0x56b75f
test byte [eax + 0x1c], 0x80
je 0x56b75f
push eax
call fcn.005707b0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x56b75f
jmp 0x56cc66
mov edi, dword [esp + 0xd0]
push dword [ebx + 0x18]
push dword [esp + 0x14]
call fcn.00574060
mov ecx, dword [ebp + 8]
add esp, 8
or ecx, dword [ebp + 0xc]
mov edx, eax
je 0x56cc8a
movzx eax, word [ebx + 0x34]
mov ecx, 6
jmp 0x56cc93
movzx eax, word [ebx + 0x32]
mov ecx, 3
mov dword [esp + 0x34], eax
mov dword [edi + 0x2c], ecx
mov eax, dword [ebx + 0xc]
push edx
push edi
mov dword [esp + 0x40], eax
call fcn.00547a60
xor edi, edi
add esp, 8
cmp word [esp + 0x34], di
je 0x56b75f
nop dword [eax + eax]
mov eax, dword [ebx + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x56ccd3
xor eax, eax
jmp 0x56cce1
mov eax, dword [esp + 0x38]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.0058b720
mov eax, dword [ebp + 8]
add esp, 0x18
or eax, dword [ebp + 0xc]
je 0x56cd25
movzx eax, word [ebx + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.0058b720
add esp, 0x18
mov eax, dword [esp + 0xd0]
push dword [eax + 0x2c]
push 1
push 0x54
push esi
call fcn.0057edd0
mov ecx, dword [esp + 0x44]
inc edi
movzx eax, cx
add esp, 0x10
cmp edi, eax
jl 0x56ccc0
push dword [esp + 0x3c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
mov ebp, dword [esp + 0x10]
test edx, edx
je 0x56b763
push dword [esp + 0x40]
push edx
push ebp
call fcn.00554340
mov edi, eax
add esp, 0xc
test edi, edi
je 0x56b763
push dword [edi + 0x3c]
push ebp
call fcn.00574060
mov ecx, dword [esp + 0xd8]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.00547a60
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x56b763
mov dword [esp + 0x60], 0x61e540
mov dword [esp + 0x64], 0x61e544
mov dword [esp + 0x68], 0x61ab20
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x64]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.0058b720
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x56cdd0
push dword [esp + 0x3c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
mov eax, dword [esp + 0xd0]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x56b763
xor ebx, ebx
nop dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x56ce80
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x56ce66
cmp dword [eax], 0x6469d0
je 0x56ce66
mov eax, dword [eax + 0xb8]
jmp 0x56ce6b
mov eax, 0x613144
push eax
push dword [ecx + ebx]
push edi
push 0x61e550
push 1
push esi
call fcn.0058b720
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x56ce40
jmp 0x56b763
mov eax, dword [esp + 0xd0]
xor ebx, ebx
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [ebp + 0x1b8]
test edi, edi
je 0x56b763
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x61e554
push 1
push esi
call fcn.0058b720
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x56ceb0
jmp 0x56b763
mov eax, dword [esp + 0x10]
mov ebp, 0x64dd88
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0xd0]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x56cf14
nop dword [eax]
push ebx
push 1
push edi
push esi
call fcn.00533360
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x56cf00
add ebp, 4
cmp ebp, 0x64dde4
jl 0x56cef2
mov ebp, dword [esp + 0x10]
mov edi, dword [ebp + 0x1a8]
test edi, edi
je 0x56b763
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00533360
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x56cf31
jmp 0x56b763
mov eax, dword [esp + 0xd0]
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [ebp + 0x18c]
test edi, edi
je 0x56b763
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x61c458
push 1
push esi
call fcn.0058b720
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x56cf70
jmp 0x56b763
mov edi, 0x617d40
push dword [edi]
push 0x61c458
push 1
push esi
call fcn.0058b720
add edi, 0x10
add esp, 0x10
cmp edi, 0x618170
jl 0x56cf96
jmp 0x56b75f
mov ebp, dword [esp + 0x10]
test edx, edx
je 0x56b763
push dword [esp + 0x40]
push edx
push ebp
call fcn.00554340
add esp, 0xc
mov dword [esp + 0x38], eax
test eax, eax
je 0x56b763
cmp byte [eax + 0x2b], 0
jne 0x56b763
mov edi, dword [eax + 0x30]
test edi, edi
je 0x56b763
push dword [eax + 0x3c]
push ebp
call fcn.00574060
mov ecx, dword [esp + 0xd8]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x44], ebp
mov dword [ecx + 0x2c], 8
call fcn.00547a60
add esp, 0x10
nop word [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x56d088
lea ebp, [edi + 0x24]
nop word [eax + eax]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.004e7030
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.004e7030
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x50]
push str.iissssss
push 1
push esi
call fcn.0058b720
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x56d030
mov ebp, dword [esp + 0x34]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x34], ebp
test edi, edi
jne 0x56d020
push dword [esp + 0x3c]
mov ebp, dword [esp + 0x14]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [ebp + 0x2c], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x570074
mov eax, dword [esp + 0x14]
test eax, eax
je 0x56d103
push dword [esp + 0x40]
push eax
push 0
push ebp
call fcn.00565ac0
mov edx, dword [esp + 0x20]
add esp, 0x10
xor ecx, ecx
jmp 0x56d108
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x5c], eax
test eax, eax
je 0x56d82a
cmp byte [eax + 0x2b], 0
jne 0x56d82a
cmp dword [eax + 0x30], 0
je 0x56d82a
mov ecx, dword [eax + 0x3c]
mov ebx, 0xffff8000
test ecx, ecx
je 0x56d14f
mov eax, dword [edx + 0x10]
xor ebx, ebx
add eax, 0xc
cmp dword [eax], ecx
je 0x56d14f
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x56d147
mov eax, dword [esp + 0x10]
mov edx, ebx
shl edx, 4
mov ecx, ebx
mov dword [esp + 0x74], edx
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x80]
test eax, eax
cmovne ebp, eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 0x5c]
test ecx, eax
jne 0x56d28e
bts ecx, ebx
mov dword [ebp + 0x5c], ecx
cmp ebx, 1
jne 0x56d297
push ebp
call fcn.005674c0
add esp, 4
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0xd0]
movsx eax, word [ebp + 0x22]
add eax, dword [esp + 0x30]
cmp dword [edx + 0x2c], eax
jge 0x56d1b8
mov dword [edx + 0x2c], eax
push 0x70
push ebp
push ebx
push 0
push edx
call fcn.00567170
push 0
push dword [ebp]
push 0
push dword [esp + 0x74]
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [ebp + 0x30]
add esp, 0x30
mov dword [esp + 0x34], eax
mov ecx, 1
mov dword [esp + 0x24], ecx
test eax, eax
je 0x56d30f
push dword [esp + 0x40]
push dword [eax + 8]
push dword [esp + 0x18]
call fcn.00554340
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x56d2ef
mov dword [esp + 0x2c], 0
cmp ebx, 1
je 0x56d24a
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x74]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x56d24a
push dword [ebp]
push 0
push dword [ebp + 0x14]
push ebx
push edx
call fcn.00527720
add esp, 0x14
push 0
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x3c]
push ebp
push dword [esp + 0xe0]
call fcn.00555d80
add esp, 0x14
test eax, eax
jne 0x56b75f
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x56d2cc
push 0x70
push ebp
push ebx
push dword [esp + 0x30]
push dword [esp + 0xe0]
call fcn.00567170
add esp, 0x14
jmp 0x56d2ef
cmp ebx, 1
je 0x56d19d
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x5c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x56d1a1
push dword [ebp]
push 0
push dword [ebp + 0x14]
push ebx
push ecx
call fcn.00527720
add esp, 0x14
jmp 0x56d1a1
push ebx
push dword [eax + 0x2c]
push dword [esp + 0x2c]
push 0x70
push esi
call fcn.0057ee30
push dword [esp + 0x40]
push dword [esp + 0xe8]
call fcn.0058c930
add esp, 0x1c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x56d1f4
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0xd0]
cmp dword [eax + 0x28], ecx
jge 0x56d31e
mov dword [eax + 0x28], ecx
push 0
push 0x24
push esi
call fcn.0057ed70
mov ebp, dword [ebp + 0x30]
add esp, 0xc
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], ebp
test ebp, ebp
je 0x56d794
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x74], eax
push dword [esp + 0x40]
push dword [ebp + 8]
push ecx
call fcn.00554340
xor ebx, ebx
mov dword [esp + 0x44], eax
add esp, 0xc
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], ebx
test eax, eax
je 0x56d39a
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x30]
push ecx
push ebp
push eax
push dword [esp + 0xe0]
call fcn.00555d80
mov ebx, dword [esp + 0x3c]
add esp, 0x14
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0x30]
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
mov eax, dword [ecx + 0x14]
add eax, edx
mov dword [esp + 0x34], ebp
cmp dword [edi + 0x2c], eax
mov edi, dword [esp + 0x8c]
jge 0x56d3d9
mov esi, dword [esp + 0xd0]
mov dword [esi + 0x2c], eax
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x14], eax
jle 0x56d47f
add ecx, 0x24
mov ebp, edx
mov dword [esp + 0x48], ecx
lea eax, [ebx + eax*4]
test ebx, ebx
jne 0x56d3fa
mov eax, ecx
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x68]
push esi
call fcn.0054e9d0
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56d42b
push 0
push dword [esp + 0x38]
push ebp
push 0x32
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56d459
mov edx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
inc ebp
mov edx, dword [esp + 0x20]
inc eax
mov ecx, dword [esp + 0x48]
add ecx, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], ecx
cmp eax, dword [edx + 0x14]
jl 0x56d3f1
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x56d517
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x56d4a1
push eax
push dword [esp + 0x14]
call fcn.004f3110
add esp, 8
mov ecx, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
push eax
push ecx
push 0
push eax
push dword [esp + 0x40]
push 0x60
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x3c]
add esp, 0x1c
mov ecx, dword [edi]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x56d4e7
push edx
push dword [esp + 0x34]
push ebp
push dword [esp + 0x30]
push 0x1d
push esi
call fcn.004e7220
add esp, 0x18
jmp 0x56d580
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x56d580
cmp dword [esp + 0x38], 0
je 0x56d580
mov ecx, dword [edi]
mov eax, dword [esp + 0x1c]
lea edx, [ecx + 2]
cmp dword [eax], ecx
jg 0x56d541
push dword [esp + 0x30]
push edx
push dword [esp + 0x2c]
push 0x1e
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56d576
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push ebp
push esi
call fcn.00589300
add esp, 8
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
test byte [edx + 0x1c], 0x80
mov eax, dword [eax]
jne 0x56d5c1
cmp eax, ecx
jg 0x56d5a7
mov eax, dword [esp + 0x54]
push 0
inc eax
push eax
push 0
push 0x87
jmp 0x56d5d1
lea eax, [ecx + 1]
lea edx, [esi + 0x68]
mov dword [edi], eax
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x2c], edx
mov dword [eax + ecx*4], 0x87
jmp 0x56d602
cmp eax, ecx
jg 0x56d5ea
mov eax, dword [esp + 0x54]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.0051dc60
mov eax, dword [esp + 0x94]
add esp, 0x14
add eax, 0x68
mov dword [esp + 0x2c], eax
jmp 0x56d62a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
lea eax, [esi + 0x68]
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x8c]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x24]
dec eax
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 8]
push 0x61e56c
push dword [esp + 0x80]
push esi
call fcn.0058b720
mov eax, dword [esp + 0x30]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56d66b
push 0
push 4
push dword [esp + 0x5c]
push 0x54
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56d6a0
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56d6ba
push ebp
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56d6c2
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebp*4], eax
mov ecx, dword [esp + 0x10]
test ebx, ebx
je 0x56d777
cmp ebx, dword [ecx + 0x164]
jae 0x56d709
cmp ebx, dword [ecx + 0x15c]
jb 0x56d6f1
mov eax, dword [ecx + 0x158]
mov dword [ebx], eax
mov dword [ecx + 0x158], ebx
jmp 0x56d777
cmp ebx, dword [ecx + 0x160]
jb 0x56d709
mov eax, dword [ecx + 0x150]
mov dword [ebx], eax
mov dword [ecx + 0x150], ebx
jmp 0x56d777
cmp dword [ecx + 0x210], 0
je 0x56d71e
push ebx
push ecx
call fcn.00528dd0
add esp, 8
jmp 0x56d773
cmp dword [0x645f38], 0
je 0x56d769
mov eax, dword [0x64de48]
test eax, eax
je 0x56d73a
push eax
call dword [0x645f88]
add esp, 4
push ebx
call dword [0x645f64]
sub dword [0x64dde8], eax
dec dword [0x64de0c]
push ebx
call dword [0x645f5c]
mov eax, dword [0x64de48]
add esp, 8
test eax, eax
je 0x56d773
push eax
call dword [0x645f90]
jmp 0x56d770
push ebx
call dword [0x645f5c]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
inc dword [esp + 0x24]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x20], ebp
test ebp, ebp
jne 0x56d355
mov edx, dword [esp + 0x2c]
jmp 0x56d7a2
mov edx, dword [esp + 0x80]
add edx, 0x68
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x70]
mov ecx, dword [edi]
lea ebx, [ebp + 1]
cmp dword [eax], ecx
jg 0x56d7c9
push 0
push ebx
push 0
push 0x27
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x40]
add esp, 0x14
jmp 0x56d7fa
mov ebp, dword [esp + 0x70]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov ebx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56d80b
mov eax, 0x64e020
jmp 0x56d819
mov eax, dword [edx]
lea ecx, [ebp*4]
add ecx, ebp
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0xd0]
mov dword [eax + 8], ebx
test ecx, ecx
je 0x56b75f
mov edx, dword [esp + 0x10]
jmp 0x56d0e3
test edx, edx
je 0x56b75f
push 0
push edx
call fcn.00560970
add esp, 8
test al, al
je 0x56d85e
mov edi, 0x61312c
mov ebx, 0xc
jmp 0x56d868
mov edi, 0x613128
mov ebx, 4
mov ebp, dword [esp + 0x10]
mov esi, 2
push 0
push 0
push 0
push 0
push 0
push 0x4d8af0
push edi
push 1
push esi
push str.like
push ebp
call fcn.005494f0
push 0
push 1
push esi
push str.like
push ebp
call fcn.00553730
inc esi
add esp, 0x40
mov ecx, dword [eax + 4]
or ecx, ebx
and ecx, 0xffdfffff
mov dword [eax + 4], ecx
cmp esi, 3
jle 0x56d871
push dword [esp + 0x3c]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
mov ebp, dword [esp + 0x6c]
xor eax, eax
mov ebx, dword [esp + 0xd0]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax]
mov al, byte [eax + 0x612ca8]
cmp al, 0x71
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0xd8]
sete cl
mov dword [esp + 0xbc], ecx
mov ecx, 0xffffffff
cmp dword [eax], 0
mov eax, 0x64
mov dword [ebx + 0x2c], 6
cmove ebp, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x78], eax
test edx, edx
je 0x56d981
lea eax, [esp + 0x78]
push eax
push edx
call fcn.00560bf0
add esp, 8
test eax, eax
je 0x56d94f
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], eax
test eax, eax
jg 0x56d981
mov eax, 0x64
jmp 0x56d97d
test ebp, ebp
js 0x56d963
mov eax, dword [esp + 0x10]
mov ecx, ebp
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x56d965
xor eax, eax
push eax
push dword [esp + 0x18]
push 0
push ebx
call fcn.00565ac0
mov dword [esp + 0x60], eax
add esp, 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], eax
push 1
lea ecx, [eax - 1]
push ecx
push 0x47
push esi
call fcn.0057edd0
mov ebp, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x30], ecx
cmp dword [ebp + 0x14], ecx
jle 0x56ddd5
mov dword [esp + 0xc8], 0x10
xor eax, eax
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x56d9c2
cmp ecx, eax
jne 0x56ddc7
mov eax, dword [ebx + 0x80]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x56d9f5
bts ebx, ecx
mov dword [edx + 0x5c], ebx
cmp ecx, 1
jne 0x56d9f5
push edx
call fcn.005674c0
mov ecx, dword [esp + 0x34]
add esp, 4
mov ebx, dword [esp + 0xd0]
mov edx, ecx
shl edx, 4
xor ecx, ecx
mov dword [esp + 0x74], edx
mov byte [ebx + 0x17], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0x28], eax
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x56ddbf
mov edx, dword [esp + 0x50]
mov edi, ecx
mov ebx, dword [ebp + 8]
test edx, edx
je 0x56da32
cmp edx, ebx
jne 0x56da59
test byte [ebx + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x56da50
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x56da47
cmp edx, edi
cmovg edi, edx
mov edx, dword [esp + 0x50]
mov ebp, dword [ebp]
test ebp, ebp
jne 0x56da27
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x56f817
test edx, edx
lea eax, [ecx + 1]
push 0
cmove eax, ecx
lea eax, [eax*4 + 4]
push eax
push ebp
call fcn.0054aba0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x56ddd5
xor edx, edx
cmp dword [esp + 0x50], edx
je 0x56dab0
mov edx, 1
mov dword [ebx + 4], 0
mov ebp, dword [esp + 0x28]
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x56daff
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 8]
test esi, esi
je 0x56dad2
cmp esi, ecx
jne 0x56daf4
test byte [ecx + 0x1c], 0x80
jne 0x56dadf
mov eax, dword [ecx + 0x14]
inc edx
mov dword [ebx + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x56daf4
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [ebx + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x56dae6
mov ebp, dword [ebp]
test ebp, ebp
jne 0x56dac7
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x24]
add eax, 8
mov dword [ebx], edx
cmp dword [ecx + 0x2c], eax
jge 0x56db17
mov dword [ecx + 0x2c], eax
push 0xfffffffffffffff2
push ebx
push 1
push edx
push 2
push 0x9b
push esi
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
call fcn.0057ee90
mov eax, dword [edi]
add esp, 0x1c
test eax, eax
jle 0x56db55
mov ecx, dword [esp + 0x30]
lea ebp, [esi + 0x68]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [ebp]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x56db5f
mov ebp, dword [esp + 0x80]
add ebp, 0x68
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
mov dword [esp + 0x18], ebp
cmp dword [eax], ebx
jg 0x56db82
push 0
push 0
push 2
push 0x32
push esi
call fcn.0051dc60
add esp, 0x14
mov ebx, eax
jmp 0x56dbb4
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
push 0xfffffffffffffffa
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.005660d0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56dc01
push 3
push 3
push 2
push 0x6f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56dc33
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.0051f500
mov eax, dword [esi]
add esp, 4
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56dc4d
mov eax, 0x64e020
jmp 0x56dc56
mov eax, dword [ebp]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x56f80b
mov eax, dword [esp + 0x50]
jmp 0x56dc76
mov ebx, dword [esp + 0x28]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x74], 0
mov dword [esp + 0x5c], 0xffffffff
test eax, eax
je 0x56dc99
cmp eax, ebx
jne 0x56f7ff
mov al, byte [ebx + 0x2b]
test al, al
je 0x56de23
cmp al, 1
jne 0x56dd9d
cmp word [ebx + 0x22], 0
jg 0x56dcd6
mov eax, dword [ebx + 0x30]
push 0
push dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0x184
push eax
call fcn.004fc7d0
add esp, 0xc
cmp dword [eax + 8], 0
je 0x56dd9d
cmp byte [ebx + 0x2b], 1
je 0x56dce3
cmp word [ebx + 0x22], 0
jg 0x56dcf3
push ebx
push dword [esp + 0xd4]
call fcn.005a16c0
add esp, 8
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x56dd9d
mov eax, dword [eax + 8]
test eax, eax
je 0x56dd9d
mov eax, dword [eax]
test eax, eax
je 0x56dd9d
cmp dword [eax], 4
jl 0x56dd9d
cmp dword [eax + 0x60], 0
je 0x56dd9d
push dword [esp + 0xbc]
push 3
push dword [esp + 0x38]
push 0xae
push esi
call fcn.0057ee30
inc dword [ebx + 0x18]
add esp, 0x14
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x56dd5a
push ebx
push 0xfffffffffffffff0
push eax
call fcn.004ffce0
add esp, 0xc
jmp 0x56dd6b
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [ebp]
mov byte [eax + ecx*4 - 0x13], 0xf0
mov dword [eax + ecx*4 - 4], ebx
push 3
push 0x32
push esi
call fcn.0057ed70
push esi
mov ebx, eax
call fcn.0051f500
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x56dd91
mov eax, 0x64e020
jmp 0x56dd9a
mov eax, dword [ebp]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x28]
mov ebp, dword [ebp]
test ebp, ebp
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x18]
jne 0x56dc72
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [ebp + 0x14]
jl 0x56d9b0
push 0
push 0x6182b0
push 7
push esi
call fcn.0057efc0
add esp, 0x10
test eax, eax
je 0x56de0d
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov dword [eax + 0x38], 0x61e6cc
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [edi]
sub eax, 2
push eax
push 0
push esi
call fcn.0057f2e0
add esp, 0xc
jmp 0x56b763
cmp byte [esp + 0x5b], 0x71
je 0x56de87
test byte [ebx + 0x1c], 0x80
je 0x56de87
mov ecx, dword [ebx + 8]
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x56de54
nop dword [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x56de50
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x56de40
mov dword [esp + 0x54], ecx
movzx eax, word [ecx + 0x32]
push eax
push dword [esp + 0xd4]
call fcn.00560d70
mov edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], edx
movzx ecx, word [eax + 0x32]
dec ecx
add ecx, edx
push ecx
push edx
push 1
push 0x4b
push esi
call fcn.0057ee30
add esp, 0x1c
jmp 0x56de97
mov dword [esp + 0x54], 0
mov dword [esp + 0x24], 0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x44]
push eax
push 0
push 1
push 0
push 0x70
push ebx
push dword [esp + 0xec]
call fcn.005672b0
mov edx, dword [esp + 0x3c]
add esp, 0x20
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x56deda
push 0
push 7
push 0
push 0x47
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x56df0c
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x56df75
mov ebx, 8
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x56df34
push 0
push ebx
push 0
push 0x47
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x30]
add esp, 0x14
jmp 0x56df69
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [ebp + 0x14]
inc ebx
test ebp, ebp
jne 0x56df18
mov ebx, dword [esp + 0x4c]
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x56df98
push 0
push 0
push dword [esp + 0x48]
push 0x24
push esi
call fcn.0051dc60
mov ebp, dword [esp + 0x2c]
add esp, 0x14
mov edx, dword [esp + 0x1c]
jmp 0x56dfd2
mov ebp, dword [esp + 0x18]
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x40]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [ebp]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
mov dword [esp + 0x78], ecx
cmp dword [edx], ecx
jg 0x56dff3
push 0
push 1
push 7
push 0x56
push esi
call fcn.0051dc60
add esp, 0x14
mov dword [esp + 0x78], eax
jmp 0x56e025
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test byte [ebx + 0x1c], 0x80
jne 0x56e065
movsx ebx, word [ebx + 0x22]
or ecx, 0xffffffff
test ebx, ebx
jle 0x56e053
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 4]
add edx, 0xe
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub ebx, 1
jne 0x56e040
mov eax, dword [esp + 0x4c]
lea edx, [ecx - 1]
movsx eax, word [eax + 0x20]
cmp ecx, eax
cmovne edx, ecx
jmp 0x56e085
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x56e080
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x56e080
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x56e070
movzx edx, word [ecx + 0x34]
dec edx
test edx, edx
js 0x56e10a
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e0ab
push 3
push edx
push dword [esp + 0x48]
push 0x5e
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56e0d9
mov ebx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x56e0e8
mov eax, 0x64e020
jmp 0x56e0f6
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [ebp]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x56e10a
cmp byte [eax], 0x5e
jne 0x56e10a
mov ecx, pe_nt_image_headers32
or word [eax + 2], cx
cmp byte [esp + 0x5b], 0x71
je 0x56e277
mov eax, dword [esp + 0x54]
test eax, eax
je 0x56e277
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x56e149
push edx
push dword [esp + 0x28]
push 0
push dword [esp + 0x4c]
push 0x29
push esi
call fcn.004e7220
add esp, 0x18
mov ebx, eax
jmp 0x56e17b
mov esi, dword [esp + 0x40]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e19a
push 0
push 0
push dword [esp + 0x2c]
push 0x32
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56e1cc
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x4c]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.005660d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
push esi
call fcn.0051f500
mov eax, dword [esi]
lea ecx, [ebx + ebx*4]
mov edx, dword [edi]
add esp, 0x2c
shl ecx, 2
cmp byte [eax + 0x57], 0
je 0x56e211
mov eax, 0x64e020
jmp 0x56e216
mov eax, dword [ebp]
add eax, ecx
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56e22a
mov eax, 0x64e028
jmp 0x56e232
mov eax, dword [ebp]
add eax, 0x1c
add eax, ecx
mov ebp, dword [esp + 0x54]
xor ebx, ebx
mov dword [eax], edx
xor eax, eax
cmp ax, word [ebp + 0x32]
jae 0x56e277
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0x40]
nop dword [eax]
mov eax, dword [esp + 0x24]
add eax, ebx
push eax
push ebx
push esi
push ebp
push edi
call fcn.0054f7f0
movzx eax, word [ebp + 0x32]
inc ebx
add esp, 0x14
cmp ebx, eax
jl 0x56e250
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x4c]
xor ebp, ebp
mov dword [esp + 0x88], ebp
movzx eax, word [ecx + 0x1e]
and eax, 1
mov dword [esp + 0xa8], eax
xor eax, eax
cmp ax, word [ecx + 0x22]
jge 0x56eae7
nop
mov ecx, dword [ecx + 4]
mov eax, ebp
shl eax, 4
add ecx, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x90], ecx
movsx eax, word [eax + 0x20]
cmp ebp, eax
je 0x56eacf
cmp dword [esp + 0xa8], 0
lea ebx, [ecx + 8]
lea edx, [ecx + 4]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], edx
je 0x56e2f7
mov eax, dword [edx]
and eax, 0xf0
cmp dword [esp + 0xc8], eax
sbb eax, eax
neg eax
jmp 0x56e30d
xor eax, eax
mov dword [esp + 0x98], edx
cmp byte [ebx], 0x41
mov dword [esp + 0x94], ebx
setg al
test byte [edx], 0xf
mov dword [esp + 0x9c], eax
jne 0x56e321
test eax, eax
je 0x56eacf
test byte [ecx + 0xe], 0x20
mov dword [esp + 0x2c], 5
je 0x56e355
push 3
push ebp
push dword [esp + 0x48]
push dword [esp + 0x58]
push esi
call fcn.0054e9d0
add esp, 0x14
mov dword [esp + 0x20], 0xffffffff
mov ebp, 3
jmp 0x56e515
movzx edx, word [ecx + 0xc]
test dx, dx
je 0x56e4b8
mov al, byte [ebx]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0xc0], al
mov dword [esp + 0x70], 0
mov al, byte [ebx + 0x54]
mov byte [esp + 0xc4], al
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0x2b], 0
jne 0x56e4b8
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x56e4b8
mov eax, edx
cmp dword [ecx], eax
jl 0x56e4b8
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
test eax, eax
je 0x56e4b8
push 0
lea ecx, [esp + 0x74]
push ecx
push dword [esp + 0xc8]
push dword [esp + 0xd0]
push eax
push ebx
call fcn.0059cfb0
mov ebx, dword [esp + 0x88]
add esp, 0x18
test ebx, ebx
je 0x56e4b8
movzx ecx, word [ebx + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x617000]
mov dword [esp + 0x2c], eax
test ecx, 0x9000
jne 0x56e403
cmp dword [ebx + 0x18], 0
je 0x56e40c
push ebx
call fcn.0059e800
add esp, 4
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x56e463
cmp ebx, dword [ecx + 0x164]
jae 0x56e44e
cmp ebx, dword [ecx + 0x15c]
jb 0x56e436
mov eax, dword [ecx + 0x158]
mov dword [ebx], eax
mov dword [ecx + 0x158], ebx
jmp 0x56e4b8
cmp ebx, dword [ecx + 0x160]
jb 0x56e44e
mov eax, dword [ecx + 0x150]
mov dword [ebx], eax
mov dword [ecx + 0x150], ebx
jmp 0x56e4b8
cmp dword [ecx + 0x210], 0
je 0x56e463
push ebx
push ecx
call fcn.00528dd0
add esp, 8
jmp 0x56e4b8
cmp dword [0x645f38], 0
je 0x56e4ae
mov eax, dword [0x64de48]
test eax, eax
je 0x56e47f
push eax
call dword [0x645f88]
add esp, 4
push ebx
call dword [0x645f64]
sub dword [0x64dde8], eax
dec dword [0x64de0c]
push ebx
call dword [0x645f5c]
mov eax, dword [0x64de48]
add esp, 8
test eax, eax
je 0x56e4b8
push eax
call dword [0x645f90]
jmp 0x56e4b5
push ebx
call dword [0x645f5c]
add esp, 4
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
test byte [edx + 0x1c], 0x80
je 0x56e508
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x56e4e1
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x56e4e1
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x56e4d1
movzx ebx, word [ecx + 0x34]
xor edx, edx
test ebx, ebx
je 0x56e4fe
mov eax, dword [ecx + 4]
movzx ebp, bp
cmp bp, word [eax]
je 0x56e503
inc edx
add eax, 2
cmp edx, ebx
jl 0x56e4f1
or eax, 0xffffffff
jmp 0x56e512
movzx eax, dx
jmp 0x56e512
push ebp
push edx
call fcn.00579c60
add esp, 8
movsx ebp, ax
mov eax, dword [esp + 0xd0]
mov edx, esi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x84], edx
mov eax, dword [eax + 0x38]
dec eax
mov dword [esp + 0x7c], eax
lea ebx, [eax - 1]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xa0], ebx
mov dword [eax + 0x38], ebx
mov eax, dword [esp + 0x98]
test byte [eax], 0xf
je 0x56e750
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
mov dword [esp + 0xa4], edx
cmp dword [eax], edx
jg 0x56e58e
push dword [esp + 0x2c]
push ebp
push ebx
mov ebx, dword [esp + 0x2c]
push ebx
push 0x12
push esi
call fcn.004e7220
mov edx, eax
add esp, 0x18
mov dword [esp + 0xa4], edx
jmp 0x56e5c6
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 0xc], ebp
mov eax, dword [edi]
test ebx, ebx
jns 0x56e5ea
test eax, eax
jle 0x56e5e3
lea ecx, [eax + eax*4]
mov ebx, 0xf
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, edx
jmp 0x56e6aa
mov edx, dword [esp + 0x18]
test eax, eax
jle 0x56e605
lea ecx, [eax + eax*4]
mov esi, 0xd
mov eax, dword [edx]
mov word [eax + ecx*4 - 0x12], si
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e624
push 3
push ebp
push ebx
push 0x5e
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x2c]
add esp, 0x14
jmp 0x56e651
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x56e676
mov edx, dword [esp + 0xa0]
push 0
push edx
push 3
push 0x33
push esi
call fcn.0051dc60
add esp, 0x14
mov ebx, eax
jmp 0x56e6aa
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0xa0]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x90]
push dword [eax]
mov eax, dword [esp + 0x50]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.005660d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0xc8]
add esp, 0x2c
test eax, eax
je 0x56e78e
push dword [esp + 0x7c]
push esi
call fcn.00589300
mov eax, dword [esi]
add esp, 8
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56e708
mov eax, 0x64e020
jmp 0x56e71b
mov eax, dword [esp + 0xa4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56e72f
mov eax, 0x64e020
jmp 0x56e73b
mov eax, dword [esp + 0x18]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0xa8], 0
je 0x56e85a
test eax, eax
je 0x56e847
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e7a2
push dword [esp + 0x2c]
push ebp
push ebx
push dword [esp + 0x2c]
push 0x12
push esi
call fcn.004e7220
add esp, 0x18
jmp 0x56e7cf
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x70]
jmp 0x56e757
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [edi]
test ecx, ecx
jle 0x56e7f9
mov eax, dword [esp + 0x98]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x64775b]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], dx
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 4]
push dword [ecx + eax]
mov eax, dword [esp + 0x9c]
push dword [ebp]
mov eax, dword [eax]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x64613c]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.005660d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
add esp, 0x30
jmp 0x56ea77
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x80], ebp
jmp 0x56ea73
mov eax, dword [esp + 0x94]
mov esi, edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x80], ecx
cmp byte [eax], 0x42
jne 0x56e928
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e89c
push dword [esp + 0x2c]
push ebp
push ebx
push dword [esp + 0x2c]
push 0x12
push edx
call fcn.004e7220
mov esi, dword [esp + 0x30]
add esp, 0x18
jmp 0x56e8c9
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x56e8de
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi]
mov word [eax + ecx*4 - 0x12], dx
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 4]
push dword [ecx + eax]
push dword [ebp]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.005660d0
mov esi, dword [esp + 0x94]
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xac], eax
jmp 0x56ea70
cmp byte [eax], 0x43
jl 0x56ea77
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e95a
push dword [esp + 0x2c]
push ebp
push ebx
push dword [esp + 0x2c]
push 0x12
push esi
call fcn.004e7220
mov edx, dword [esp + 0x38]
add esp, 0x18
mov ebp, dword [esp + 0x2c]
jmp 0x56e987
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], ebp
mov eax, dword [edi]
test eax, eax
jle 0x56e9a4
lea ecx, [eax + eax*4]
mov esi, 0x1b
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], si
mov esi, dword [esp + 0x44]
test edx, edx
js 0x56e9c2
push 3
push dword [esp + 0x8c]
push dword [esp + 0x48]
push dword [esp + 0x58]
push esi
call fcn.0054e9d0
add esp, 0x14
push 0xffffffffffffffff
push 0x5f9004
push 0
push 1
push 3
push 0x60
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56e9fb
push ebp
push 3
push ebx
push 0xffffffffffffffff
push 0x12
push esi
call fcn.004e7220
mov edx, dword [esp + 0x30]
add esp, 0x18
jmp 0x56ea2c
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], ebp
mov eax, dword [edi]
test eax, eax
jle 0x56ea41
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov edx, 0x1c
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 4]
push dword [ecx + eax]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.005660d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
add esp, 0x2c
mov dword [esp + 0x44], esi
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x7c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56ea95
push edx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56ea9d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
push esi
call fcn.0051f500
mov ecx, dword [esi + 0xc]
add esp, 4
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56eac0
push ebx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56eac8
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
inc ebp
mov dword [esp + 0x88], ebp
movsx eax, word [ecx + 0x22]
cmp ebp, eax
jl 0x56e2a0
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x56ec40
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x56ec40
push eax
push ecx
push ebx
call fcn.00552860
add esp, 0xc
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x48], edx
jne 0x56ec32
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0x40]
inc eax
mov ebp, dword [ebx + 0x38]
dec ebp
mov dword [ebx + 0x34], eax
mov dword [esp + 0x7c], ebp
lea ecx, [ebp - 1]
mov dword [ebx + 0x38], ecx
mov ebx, dword [edx]
dec ebx
mov dword [esp + 0x90], ecx
test ebx, ebx
jle 0x56eb8e
mov edi, dword [esp + 0x7c]
lea ebp, [ebx*4 + 2]
mov esi, dword [esp + 0xd0]
add ebp, ebx
lea ebp, [edx + ebp*4]
push 0
push edi
push dword [ebp]
push esi
call fcn.005517c0
dec ebx
lea ebp, [ebp - 0x14]
add esp, 0x10
test ebx, ebx
jg 0x56eb64
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
push 0x10
push ebx
push dword [edx + 8]
push dword [esp + 0xdc]
call fcn.00551bd0
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56ebc4
push ebp
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56ebcc
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebp*4], eax
mov eax, dword [esp + 0xd0]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x4c]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.005660d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
push esi
call fcn.0051f500
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56ec22
push ebx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56ec2a
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
test edx, edx
je 0x56ec40
push edx
push ebx
call fcn.004fac60
add esp, 8
cmp byte [esp + 0x5b], 0x71
mov ebp, dword [esp + 0x4c]
je 0x56f56f
mov ebx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x56f56f
mov eax, dword [esp + 0x38]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x54]
nop
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
cmp ecx, ebx
je 0x56f558
push dword [esp + 0x5c]
lea ecx, [esp + 0x64]
push dword [esp + 0x78]
push ecx
push 0
push 0
push dword [esp + 0x54]
push ebx
push eax
call fcn.00560200
mov edx, dword [esp + 0xb0]
add esp, 0x20
mov ecx, dword [edi]
add edx, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], ebx
cmp dword [eax], ecx
jg 0x56ecdc
push 0
push 1
push edx
push 0x56
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56ed11
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
movzx edx, word [ebx + 0x34]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x56ed38
push edx
push dword [esp + 0x60]
push ebp
push dword [esp + 0x2c]
push 0x1d
push esi
call fcn.004e7220
add esp, 0x18
mov ebx, eax
jmp 0x56ed6c
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56eda5
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0051dc60
mov ebp, dword [esp + 0x2c]
add esp, 0x14
jmp 0x56eddb
mov ebp, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56ee10
push 3
push 3
push 4
push 0x6f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56ee42
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x2c]
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.0057ee90
mov ecx, dword [edi]
add esp, 0x1c
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x56ee80
push 3
push 3
push 4
push 0x6f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56eeb5
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.0051f500
mov ecx, dword [esi]
add esp, 4
mov edx, dword [edi]
mov dword [esp + 0x7c], eax
cmp byte [ecx + 0x57], 0
je 0x56eed7
mov ebx, dword [esp + 0x18]
mov ecx, 0x64e020
jmp 0x56eee3
lea ecx, [ebx + ebx*4]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x4c]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x56f051
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56ef16
push 0
push 3
push dword [esp + 0x28]
push 0x8e
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56ef47
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x5c]
movzx eax, word [ebp + 0x34]
dec edx
mov ebx, dword [edi]
add edx, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], ebx
jg 0x56ef70
push edx
push 0
push 3
push 0x35
push esi
call fcn.0051dc60
add esp, 0x14
mov ebx, eax
jmp 0x56efa2
mov ebp, dword [esp + 0x18]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x18]
push 0
push str.rowid_not_at_end_of_record_for_row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56efdb
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f00d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._of_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0xa4]
dec eax
push eax
push esi
call fcn.00589300
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f045
mov eax, 0x64e020
jmp 0x56f04e
mov eax, dword [ebp]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
xor ecx, ecx
xor ebp, ebp
xor ebx, ebx
cmp cx, word [eax + 0x32]
jae 0x56f27c
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + ebx*4], str.BINARY
je 0x56f132
test ebp, ebp
jne 0x56f091
mov eax, dword [esp + 0xd0]
dec dword [eax + 0x38]
mov ebp, dword [eax + 0x38]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f0af
push 3
push ebx
push dword [esp + 0x28]
push 0x5e
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f0e0
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
mov ecx, dword [edi]
add edx, ebx
cmp dword [eax], ecx
jg 0x56f101
push edx
push ebp
push 3
push 0x34
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f132
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebx
movzx eax, word [eax + 0x32]
cmp ebx, eax
mov eax, dword [esp + 0x2c]
jl 0x56f070
test ebp, ebp
je 0x56f278
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x56f16e
push 0
push 0
push 0
push 9
push esi
call fcn.0051dc60
add esp, 0x14
mov ebx, eax
jmp 0x56f1a3
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56f1bd
push ebp
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56f1c5
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebp*4], eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f1fe
push 3
push 3
push 7
push 0x6f
push esi
call fcn.0051dc60
mov ebp, dword [esp + 0x2c]
add esp, 0x14
jmp 0x56f234
mov ebp, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._values_differ_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0xa4]
dec eax
push eax
push esi
call fcn.00589300
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f26c
mov eax, 0x64e020
jmp 0x56f275
mov eax, dword [ebp]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x36], 0
je 0x56f4f0
mov ecx, dword [esp + 0xd0]
xor ebp, ebp
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x48], edx
cmp cx, word [eax + 0x32]
jae 0x56f32d
mov ebx, dword [esp + 0x5c]
jmp 0x56f2b4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ebp*2]
test ecx, ecx
js 0x56f2cf
mov eax, dword [esp + 0x4c]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x56f31f
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f2ee
push 0
push edx
push ebx
push 0x32
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x5c]
add esp, 0x14
jmp 0x56f31f
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
inc ebp
inc ebx
movzx eax, word [eax + 0x32]
cmp ebp, eax
jl 0x56f2b0
mov eax, dword [esp + 0x1c]
mov ebp, dword [edi]
cmp dword [eax], ebp
jg 0x56f352
push 0
push 0
push dword [esp + 0x28]
push 0x27
push esi
call fcn.0051dc60
mov ebx, dword [esp + 0x2c]
add esp, 0x14
mov ebp, eax
jmp 0x56f38d
mov ebx, dword [esp + 0x18]
lea eax, [ebp + 1]
mov edx, dword [esp + 0x20]
lea ecx, [ebp*4]
mov dword [edi], eax
add ecx, ebp
mov eax, dword [ebx]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f3ad
mov ebx, dword [esp + 0x48]
push 0
push ebx
push 0
push 9
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f3de
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f3f3
mov ebp, dword [esp + 0x18]
mov eax, 0x64e020
jmp 0x56f406
lea ecx, [ebp*4]
add ecx, ebp
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x56f432
push edx
push dword [esp + 0x60]
push ebx
push dword [esp + 0x2c]
push 0x29
push esi
call fcn.004e7220
add esp, 0x18
jmp 0x56f45c
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov ebp, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f496
push 0
push dword [esp + 0x8c]
push 0
push 9
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f4ce
mov edx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56f4e8
push ebx
push esi
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56f4f0
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f501
mov eax, 0x64e020
jmp 0x56f511
mov eax, dword [esp + 0x7c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0xd0]
test edx, edx
je 0x56f550
mov ebx, dword [eax + 8]
not edx
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x56f540
push edx
push ebx
push ecx
call fcn.005379d0
add esp, 0xc
jmp 0x56f549
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x54]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x20]
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x56ec80
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f595
mov edx, dword [esp + 0x78]
push 0
push edx
push dword [esp + 0x48]
push 0x27
push esi
call fcn.0051dc60
mov ebx, dword [esp + 0x2c]
add esp, 0x14
jmp 0x56f5ca
mov ebx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x40]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [ebx]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f5db
mov eax, 0x64e028
jmp 0x56f5ea
mov eax, dword [esp + 0x78]
lea ecx, [eax + eax*4]
mov eax, dword [ebx]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x5b], 0x71
mov dword [eax], edx
je 0x56dd9d
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x75
push esi
call fcn.0057ee90
mov ebp, dword [ebp + 8]
add esp, 0x1c
test ebp, ebp
je 0x56f7a2
mov eax, dword [esp + 0x54]
mov edx, 8
mov dword [esp + 0x48], edx
cmp eax, ebp
je 0x56f792
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
add ebx, 0xfffffff8
mov ecx, dword [edi]
add ebx, edx
cmp dword [eax], ecx
jg 0x56f658
push 0
push 3
push ebx
push 0x62
push esi
call fcn.0051dc60
mov edx, dword [esp + 0x5c]
add esp, 0x14
jmp 0x56f68d
mov esi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x56f6ab
push 3
push 0
push edx
push 0x35
push esi
call fcn.0051dc60
add esp, 0x14
mov ebx, eax
jmp 0x56f6e0
mov esi, dword [esp + 0x44]
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
test eax, eax
jle 0x56f6f9
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov word [eax + ecx*4 - 0x12], dx
push 0
push dword [ebp]
push 0
push 4
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56f72c
push 3
push 2
push 4
push 0x6f
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f761
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.0051f500
mov eax, dword [esi]
add esp, 4
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x56f77b
mov eax, 0x64e020
jmp 0x56f787
mov eax, dword [esp + 0x18]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ebp, dword [ebp + 0x14]
inc edx
mov dword [esp + 0x48], edx
test ebp, ebp
jne 0x56f627
mov eax, dword [esp + 0x54]
test eax, eax
je 0x56dd9d
movzx eax, word [eax + 0x32]
mov ebx, dword [esp + 0xd0]
cmp eax, 1
jne 0x56f7e7
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x56dda4
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x56dda4
movzx eax, al
mov dword [ebx + eax*4 + 0xa4], ecx
inc byte [ebx + 0x13]
jmp 0x56dda4
cmp eax, dword [ebx + 0x1c]
jle 0x56dda4
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x20], eax
jmp 0x56dda4
mov ebx, dword [esp + 0xd0]
jmp 0x56dda8
mov ebx, dword [esp + 0xd0]
jmp 0x56ddbf
mov ebx, dword [esp + 0xd0]
jmp 0x56ddc3
test edx, edx
jne 0x56f86d
mov ebx, dword [esp + 0xd0]
push ebx
call fcn.005713e0
add esp, 4
test eax, eax
jne 0x56b75f
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x6182d8]
push esi
call fcn.00539d00
push dword [esp + 0x44]
push dword [esp + 0x1c]
call fcn.0054aa60
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xbc
ret
mov ebp, dword [esp + 0x10]
test byte [ebp + 0x18], 0x40
jne 0x56b763
mov eax, dword [str.UTF8]
mov esi, 0x6182d8
test eax, eax
je 0x56f8e2
nop dword [eax]
push eax
push edx
call fcn.005794f0
add esp, 8
test eax, eax
je 0x56f8ae
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x56f890
jmp 0x56f8e2
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
cmovne edx, eax
mov eax, dword [ebp + 0x10]
mov byte [esp + 0x60], dl
push dword [esp + 0x60]
mov eax, dword [eax + 0xc]
push ebp
mov byte [eax + 0x4d], dl
call fcn.00577ab0
mov eax, dword [esi]
add esp, 8
test eax, eax
jne 0x56b763
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0xd8]
call fcn.0054d2c0
push dword [esp + 0x48]
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x28]
add esp, 0x14
jmp 0x56b778
mov edi, dword [ebp + 8]
push ebx
push esi
call fcn.0058d610
add esp, 8
cmp dword [esp + 0x14], 0
je 0x56f9a9
test byte [ebp + 5], 8
jne 0x56f9a9
push 0
push 0x618320
push 2
push esi
call fcn.0057efc0
mov esi, eax
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x28]
mov dword [esi + 4], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
call fcn.00560bf0
mov eax, dword [esp + 0x50]
add esp, 0x18
mov ebp, dword [esp + 0x10]
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x56b763
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
je 0x56b763
push dword [esp + 0x3c]
mov byte [esi + 0x14], 0xbb
push ebp
call fcn.0054aa60
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x56b778
push 0
push 0x6182cc
push 3
push esi
call fcn.0057efc0
push esi
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x20], edi
call fcn.0058c480
add esp, 0x14
jmp 0x56b75f
mov eax, dword [esp + 0xd0]
xor ebx, ebx
mov dword [eax + 0x2c], 1
nop
cmp ebx, 0x29
ja 0x56fa5a
mov eax, dword [ebx*4 + 0x612c00]
inc ebx
test eax, eax
je 0x56fa5a
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56fa26
push 0
push 1
push 1
push 0x54
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56f9e0
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x56f9e0
push esi
call fcn.0058c480
jmp 0x56b75c
mov eax, dword [esp + 0xd8]
mov ebp, 0xc
cmp dword [eax], 0
cmovne ebp, ebx
xor edi, edi
test edx, edx
je 0x56fac9
push str.full
push edx
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56fa94
lea edi, [eax + 1]
jmp 0x56fac9
push str.restart
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
test eax, eax
jne 0x56faae
lea edi, [eax + 2]
jmp 0x56fac9
push str.truncate
push dword [esp + 0x18]
call fcn.005794f0
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0xd0]
push 1
push edi
push ebp
push 3
push esi
mov dword [eax + 0x2c], 3
call fcn.0057ee30
push 3
push 1
push 0x54
push esi
call fcn.0057edd0
add esp, 0x24
jmp 0x56b75f
test edx, edx
je 0x56fb21
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push edx
call fcn.00560bf0
push dword [esp + 0x40]
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.004d4d10
add esp, 0x10
jmp 0x56fb25
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 0x110], 0x58f2e0
jne 0x56fb48
mov eax, dword [ebp + 0x114]
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x56fb70
push eax
call dword [0x645f88]
add esp, 4
cmp byte [ebp + 0x5f], 0
jne 0x56fb7f
push ebp
call fcn.004ed6e0
add esp, 4
xor esi, esi
cmp dword [ebp + 0x14], esi
jle 0x56fbbb
xor edi, edi
nop dword [eax + eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + edi + 4]
test eax, eax
je 0x56fbb2
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x645fcc]
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [ebp + 0x14]
jl 0x56fb90
cmp byte [ebp + 0x5f], 0
jne 0x56fbca
push ebp
call fcn.004edab0
add esp, 4
mov eax, dword [ebp + 0xc]
jmp 0x56c3fa
test edx, edx
je 0x56fbff
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push edx
call fcn.00560bf0
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [esp + 0x28], ecx
test cl, 2
je 0x56b75f
jmp 0x56fc07
mov dword [esp + 0x28], 0xfffe
cmp dword [esp + 0x40], 0
mov ebp, dword [esp + 0xd0]
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x30], edx
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
je 0x56fc28
mov dword [esp + 0x34], ebx
jmp 0x56fc3c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x34], eax
cmp ebx, eax
jg 0x56fe67
mov eax, dword [esp + 0x24]
mov ecx, ebx
mov ebx, 1
rol ebx, cl
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x6c], 1
je 0x56fe4c
mov eax, dword [ebp + 0x80]
mov ecx, ebp
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test eax, ebx
jne 0x56fc7a
mov ebp, dword [esp + 0x6c]
bts eax, ebp
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x56fe3d
nop dword [eax]
nop dword [eax + eax]
mov ebx, dword [ebp + 8]
test dword [ebx + 0x1c], 0x100
je 0x56fe2e
mov ax, word [ebx + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [ebx + 8]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x56fcd7
test byte [eax + 0x38], 0x80
je 0x56fd64
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x56fcc6
test cx, cx
je 0x56fd64
push 0x70
push ebx
push dword [esp + 0x74]
push edx
push dword [esp + 0xe0]
call fcn.00567170
mov eax, dword [esp + 0x74]
add esp, 0x14
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi]
movsx edx, ax
mov eax, dword [esp + 0x28]
and eax, 1
add eax, 2
add eax, ecx
cmp dword [esi], ecx
mov esi, dword [esp + 0x44]
mov dword [esp + 0x60], eax
jg 0x56fd2f
push edx
push eax
push dword [esp + 0x38]
push 0x21
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56fd64
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x60]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
push dword [ebx]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.005660d0
add esp, 0x10
mov edx, eax
test byte [esp + 0x28], 1
je 0x56fe13
mov ebx, dword [esp + 0xd0]
mov cl, byte [ebx + 0x13]
test cl, cl
jne 0x56fda5
inc dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x2c]
jmp 0x56fdb4
dec cl
movzx eax, cl
mov byte [ebx + 0x13], cl
mov ebx, dword [ebx + eax*4 + 0xa4]
push 0xfffffffffffffffa
push edx
push 0
push ebx
push 0
push 0x75
push esi
call fcn.0057ee90
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x56fde3
push 0
push 1
push ebx
push 0x54
push esi
call fcn.0051dc60
add esp, 0x14
jmp 0x56fe2a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x56fe2a
push 0xfffffffffffffffa
push edx
push 0
push 0
push 0
push 0x94
push esi
call fcn.0057ee90
add esp, 0x1c
mov edx, dword [esp + 0x30]
mov ebp, dword [ebp]
test ebp, ebp
jne 0x56fca0
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
inc dword [esp + 0x6c]
add eax, 0x10
rol ebx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x6c], ecx
jle 0x56fc51
push 0xa6
push esi
call fcn.0057ed20
add esp, 8
jmp 0x56b75f
test edx, edx
je 0x56fea0
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
add esp, 8
test eax, eax
jne 0x56fea0
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.004cddd0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004cddd0
push edx
push eax
push esi
call fcn.00539c70
add esp, 0x14
jmp 0x56b75f
test edx, edx
je 0x56ff09
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
add esp, 8
test eax, eax
jne 0x56ff09
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004cdee0
mov edi, dword [esp + 0x6c]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x56ff09
mov ecx, dword [esp + 0x60]
jg 0x56feef
test ecx, ecx
je 0x56ff09
mov eax, ebx
or eax, edx
je 0x56feff
cmp edx, edi
jl 0x56ff09
jg 0x56feff
cmp ebx, ecx
jbe 0x56ff09
push edi
push ecx
call fcn.004cdee0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004cdee0
push edx
push eax
push esi
call fcn.00539c70
add esp, 0x14
jmp 0x56b75f
test edx, edx
je 0x56ff5f
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
add esp, 8
test eax, eax
jne 0x56ff5f
cmp dword [esp + 0x64], eax
jl 0x56ff5f
mov eax, dword [esp + 0x60]
jg 0x56ff48
test eax, eax
jb 0x56ff5f
mov ebp, dword [esp + 0x10]
and eax, 0x7fffffff
push eax
push 0xb
push ebp
call fcn.004e64b0
add esp, 0xc
jmp 0x56ff63
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0xa4]
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
test edx, edx
je 0x56ffb1
lea eax, [esp + 0x60]
push eax
push edx
call fcn.0054b040
add esp, 8
test eax, eax
jne 0x56ffb1
cmp dword [esp + 0x64], eax
jl 0x56ffb1
mov eax, dword [esp + 0x60]
jg 0x56ffa0
test eax, eax
jb 0x56ffb1
mov ebp, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ebp + 0x1f0], eax
jmp 0x56ffb5
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
test edx, edx
je 0x570059
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push edx
call fcn.00560bf0
mov edi, dword [esp + 0x40]
add esp, 8
mov ebp, dword [esp + 0x10]
test edi, edi
jle 0x57000d
push ebp
push 0x599200
push ebp
call fcn.004e4860
add esp, 0xc
mov dword [ebp + 0x1f4], edi
jmp 0x57005d
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x57001e
push eax
call dword [0x645f88]
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x1c0], 0
mov dword [ebp + 0x1c4], 0
mov dword [ebp + 0x1c8], 0
mov dword [ebp + 0x1f4], 0
test eax, eax
je 0x57005d
push eax
call dword [0x645f90]
add esp, 4
jmp 0x57005d
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.00539c70
add esp, 0xc
jmp 0x56b763
mov ebp, edx
jmp 0x56b763