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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x364
mov eax, dword [0x75aa5c]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x14]
mov cl, byte [edx + 0x59]
mov dword [esp + 0x36c], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xb0], eax
cmp dword [esi + 0x4c], 0xbdf20da3
mov dword [esp + 0x18], edi
mov byte [esp + 0x4c], cl
je 0x5f879f
mov eax, 0x15
mov ecx, dword [esp + 0x36c]
call fcn.005a6f18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x28]
lea eax, [esi + 0x11c]
push eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x100], eax
call fcn.005f4850
mov eax, dword [esi + 0x7c]
add esp, 4
cmp eax, 7
je 0x5f8b9c
mov eax, dword [esi + 0xfc]
test eax, eax
mov dword [esi + 0x7c], 0
je 0x5f87f4
lea edx, [esp + 0x14]
push edx
call fcn.005f8550
mov ebx, dword [esp + 0x18]
add esp, 4
mov dword [esi + 0xfc], 0
mov byte [esi + 0x104], 0
mov eax, dword [edi + 0xa8]
test eax, eax
mov dword [edi + 0x114], 0
jne 0x5fca2b
mov eax, dword [esi + 0x78]
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x1e]
test al, al
jne 0x5f8b9c
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea edi, [eax + edx*4]
mov eax, ecx
mov ecx, dword [eax + 0xb8]
test ecx, ecx
mov dword [esp + 0x1c], edi
je 0x5f88b8
mov ecx, dword [eax + 0xc0]
cmp ecx, dword [esp + 0xb0]
jne 0x5f88b1
mov edx, dword [esp + 0x18]
push edx
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xbc]
push ecx
call dword [eax + 0xb8]
mov edx, dword [esp + 0x1c]
push edx
mov dword [esp + 0x34], eax
call fcn.005e09f0
add esp, 8
test eax, eax
jne 0x5fc10d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x5fc83c
mov dword [esp + 0xb0], 0
inc dword [esp + 0xb0]
mov cl, byte [edi]
movzx eax, cl
mov dword [esp + 0x20], eax
dec eax
cmp eax, 0x8d
ja case.0x5f88cd.13
jmp dword [eax*4 + 0x5fca98]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
jne 0x5fca27
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0xf0]
inc ecx
mov dword [esi + edx*4 + 0x8c], ecx
inc dword [esi + 0xf0]
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
jmp case.0x5f88cd.13
mov ecx, dword [esi + 0xf0]
dec ecx
mov dword [esi + 0xf0], ecx
mov eax, ecx
mov esi, dword [esi + eax*4 + 0x8c]
dec esi
mov dword [esp + 0x28], esi
jmp case.0x5f88cd.13
add ebx, 0x48
mov word [ebx + 0x1c], 4
mov eax, dword [edi + 4]
cdq
mov dword [ebx], eax
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], edx
jmp case.0x5f88cd.13
add ebx, 0x48
mov word [ebx + 0x1c], 4
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov dword [ebx], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], eax
jmp case.0x5f88cd.13
add ebx, 0x48
mov word [ebx + 0x1c], 8
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov dword [ebx + 8], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], ebx
mov dword [ebx + 0xc], eax
jmp case.0x5f88cd.13
mov edx, dword [edi + 0xc]
mov eax, edx
mov byte [edi], 0x1a
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5f89a0
sub eax, esi
mov dword [edi + 4], eax
cmp byte [esp + 0x4c], 1
je case.0x5f88cd.26
push 0
push 1
push 0xffffffffffffffff
add ebx, 0x48
push edx
push ebx
mov dword [esp + 0x28], ebx
call fcn.005e19f0
movzx ecx, byte [esp + 0x60]
push ecx
push ebx
call fcn.005e10a0
add esp, 0x1c
test eax, eax
jne 0x5f8b9c
push ebx
call fcn.005e1c30
add esp, 4
test eax, eax
jne 0x5f8b9c
xor edx, edx
mov dx, word [ebx + 0x1c]
or esi, 0xffffffff
and edx, 0xffbf
or edx, 0x80
mov word [ebx + 0x1c], dx
cmp dword [edi + 0x10], esi
jne 0x5f8a19
mov eax, dword [edi + 0xc]
push eax
call fcn.005dd690
add esp, 4
mov dword [edi + 0x10], esi
mov ecx, dword [ebx + 0x14]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx + 0x18]
mov dword [edi + 4], edx
jmp case.0x5f88cd.13
mov dl, byte [esp + 0x4c]
add ebx, 0x48
mov word [ebx + 0x1c], 0xa2
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x14], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x18], ecx
mov dword [esp + 0x14], ebx
mov byte [ebx + 0x1f], dl
jmp case.0x5f88cd.13
add ebx, 0x48
mov word [ebx + 0x1c], 1
mov dword [esp + 0x14], ebx
mov dword [ebx + 0x18], 0
jmp case.0x5f88cd.13
mov edx, dword [edi + 0xc]
mov eax, edx
mov byte [edi], 0x7c
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5f8a76
sub eax, esi
shr eax, 1
test eax, eax
mov dword [edi + 4], eax
je 0x5f8abe
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.005e0930
mov esi, eax
add esp, 8
test esi, esi
je 0x5f8b9c
cmp dword [edi + 0x10], 0xffffffff
jne 0x5f8ab2
mov ecx, dword [edi + 0xc]
push ecx
call fcn.005dd690
add esp, 4
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], 0xffffffff
jmp case.0x5f88cd.124
cmp dword [edi + 0x10], 0xffffffff
jne 0x5f8acd
push edx
call fcn.005dd690
add esp, 4
mov dword [edi + 0x10], 0xfffffffe
mov dword [edi + 0xc], 0x702e88
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
push 0
push 0
push edx
add ebx, 0x48
push eax
push ebx
mov dword [esp + 0x28], ebx
call fcn.005e19f0
mov cl, byte [esp + 0x60]
add esp, 0x14
mov byte [ebx + 0x1f], cl
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov esi, dword [esi + 0x40]
dec edi
lea edi, [edi + edi*8]
shl edi, 3
add esi, edi
push esi
call fcn.005e1390
add esp, 4
test eax, eax
jne 0x5fc596
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x40]
push 0x80
add eax, edi
add ebx, 0x48
push eax
push ebx
mov dword [esp + 0x20], ebx
call fcn.005e13c0
add esp, 0xc
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
lea ecx, [esp + 0x14]
push ecx
jmp 0x5fc80b
mov eax, dword [edi + 4]
lea edx, [eax + eax*8]
shl edx, 3
mov eax, ebx
sub eax, edx
push 0x100
add ebx, 0x48
push eax
push ebx
mov dword [esp + 0x20], ebx
call fcn.005e13c0
mov eax, dword [edi + 8]
add esp, 0xc
test eax, eax
je case.0x5f88cd.13
test byte [ebx + 0x1d], 1
je case.0x5f88cd.13
push ebx
call fcn.005e15f0
add esp, 4
test eax, eax
je case.0x5f88cd.13
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push 0
lea eax, [esi + 0x100]
push str.out_of_memory
push eax
mov byte [edx + 0x1e], 1
call fcn.005f2110
mov dword [esp + 0x1c], 7
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi + 0x7c], eax
mov edi, 1
jmp 0x5fca64
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov esi, ebx
sub esi, ecx
test byte [ebx + 0x1d], 1
mov ecx, 0x12
lea edi, [esp + 0x320]
mov dword [esp + 0x3c], esi
rep movsd dword es:[edi], dword [esi]
je 0x5f8c0c
push ebx
call fcn.005e15f0
add esp, 4
test eax, eax
jne 0x5f8b9c
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x20], 0
jle 0x5f8c8e
mov eax, dword [esp + 0x3c]
add eax, 0x48
mov dword [esp + 0x30], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x30]
test byte [eax + 0x1d], 1
je 0x5f8c4b
push eax
call fcn.005e15f0
add esp, 4
test eax, eax
jne 0x5f8b9c
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
mov ecx, 0x12
mov esi, eax
rep movsd dword es:[edi], dword [esi]
test byte [eax - 0x2b], 2
je 0x5f8c68
lea ecx, [eax - 0x24]
mov dword [eax - 0x34], ecx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
add eax, 0x48
inc ecx
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
add esi, 0x48
cmp ecx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x3c], esi
jl 0x5f8c30
mov ecx, 0x12
lea esi, [esp + 0x320]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
test byte [ebx + 0x1d], 2
je case.0x5f88cd.13
lea eax, [ebx + 0x24]
mov dword [ebx + 0x14], eax
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
lea ecx, [edi + edi*8]
shl ecx, 3
mov edx, ebx
sub edx, ecx
push ebx
push edx
call fcn.005e1990
add esp, 8
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov esi, dword [edi + 4]
add esi, 2
lea eax, [esi + esi*8]
shl eax, 3
mov ecx, ebx
sub ecx, eax
lea eax, [ecx + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
xor eax, eax
cmp esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x20], eax
jle 0x5f8dd7
mov edx, dword [esp + 0x34]
mov ax, word [edx + 0x1c]
test al, 1
jne 0x5f8dab
test ah, 8
je 0x5f8d31
mov eax, edx
push eax
call fcn.005e1540
add esp, 4
mov ecx, dword [esp + 0x34]
test byte [ecx + 0x1c], 0x12
jne 0x5f8d54
movzx edx, byte [esp + 0x4c]
push edx
mov eax, ecx
push eax
call fcn.005e10d0
add esp, 8
test eax, eax
jne 0x5f8b9c
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x98]
cdq
add ecx, eax
mov eax, dword [esp + 0x9c]
adc eax, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x20]
inc eax
add edx, 0x48
cmp eax, esi
mov dword [esp + 0x98], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
jl 0x5f8d11
mov eax, dword [esp + 0x9c]
test eax, eax
jg 0x5f8dd7
jl 0x5f8dab
mov eax, ecx
test eax, eax
jae 0x5f8dd7
mov eax, dword [edi + 8]
test eax, eax
jne 0x5f8dc5
lea edx, [esp + 0x14]
push edx
mov eax, esi
call fcn.005f8550
mov ebx, dword [esp + 0x18]
add esp, 4
add ebx, 0x48
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 1
jmp case.0x5f88cd.13
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
add eax, 2
adc ecx, 0
test ecx, ecx
jg 0x5fc596
jl 0x5f8e00
cmp eax, 0x3b9aca00
ja 0x5fc596
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x18]
add eax, 2
push eax
push ecx
call fcn.005f1f40
add esp, 8
test eax, eax
mov dword [esp + 0x5c], eax
je 0x5f8b9c
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x24], 0
jle 0x5f8e80
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x24]
add eax, 0x14
mov ecx, dword [eax + 4]
mov edi, dword [esp + 0x5c]
mov esi, dword [eax]
mov dword [esp + 0x2c], ecx
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add edx, edi
add eax, 0x48
dec ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
jne 0x5f8e47
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
mov byte [eax + ecx], 0
mov byte [eax + ecx + 1], 0
mov esi, dword [edx + 8]
test esi, esi
jne 0x5f8eb9
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x34]
call fcn.005f8550
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
add esp, 4
mov dl, byte [esp + 0x4c]
add ebx, 0x48
mov dword [ebx + 0x18], eax
mov word [ebx + 0x1c], 0x62
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x1f], dl
mov dword [esp + 0x14], ebx
mov dword [ebx + 0x14], ecx
jmp case.0x5f88cd.13
mov ax, word [ebx - 0x2c]
mov dx, word [ebx + 0x1c]
lea esi, [ebx - 0x48]
movzx ecx, ax
movzx edx, dx
or ecx, edx
test cl, 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], ecx
je 0x5f8f2e
test byte [ebx + 0x1c], 0x40
je 0x5f8f0e
push ebx
call fcn.005e11f0
add esp, 4
mov ebx, esi
test byte [ebx + 0x1c], 0x40
mov dword [esp + 0x14], ebx
je 0x5f8f23
push ebx
call fcn.005e11f0
add esp, 4
mov word [ebx + 0x1c], 1
jmp case.0x5f88cd.13
and al, byte [ebx + 0x1c]
test al, 4
je 0x5f8ffb
mov edx, dword [esp + 0x20]
mov edi, dword [esi]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov esi, dword [esi + 4]
add edx, 0xffffffb2
cmp edx, 3
ja case.default.0x5f8f4f
jmp dword [edx*4 + 0x5fccd0]
add edi, eax
adc esi, ecx
jmp 0x5f8fc5
sub edi, eax
sbb esi, ecx
jmp 0x5f8fc5
push ecx
push eax
push esi
push edi
call fcn.005b0b10
jmp 0x5f8fc1
mov edx, eax
or edx, ecx
je 0x5f9134
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x5f8f93
test edi, edi
jne 0x5f8f93
cmp esi, 0x80000000
jne 0x5f8f93
mov eax, 1
xor ecx, ecx
push ecx
push eax
push esi
push edi
call fcn.005b1800
jmp 0x5f8fc1
mov edx, eax
or edx, ecx
je 0x5f9134
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x5f8fb8
mov eax, 1
xor ecx, ecx
push ecx
push eax
push esi
push edi
call fcn.005c9440
mov edi, eax
mov esi, edx
test byte [ebx + 0x1c], 0x40
je 0x5f8fd4
push ebx
call fcn.005e11f0
add esp, 4
mov ebx, dword [esp + 0x1c]
test byte [ebx + 0x1c], 0x40
mov dword [esp + 0x14], ebx
je 0x5f8feb
push ebx
call fcn.005e11f0
add esp, 4
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
push ebx
call fcn.005e17d0
fstp qword [esp + 0x54]
push esi
call fcn.005e17d0
movzx eax, byte [edi]
add eax, 0xffffffb2
add esp, 8
cmp eax, 3
ja case.default.0x5f9019
jmp dword [eax*4 + 0x5fcce0]
fadd qword [esp + 0x50]
jmp 0x5f90cc
fsub qword [esp + 0x50]
jmp 0x5f90cc
fmul qword [esp + 0x50]
jmp 0x5f90cc
fld qword [0x6eead8]
fld qword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5f912d
fdiv qword [esp + 0x50]
jmp 0x5f90cc
fld qword [esp + 0x50]
call fcn.005b31a6
mov edi, eax
mov dword [esp + 0x114], edx
call fcn.005b31a6
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x194], edx
mov edx, edi
or edx, ecx
je 0x5f8eff
mov edx, edi
and edx, ecx
cmp edx, 0xffffffff
jne 0x5f90a7
mov dword [esp + 0x114], 0
mov ecx, dword [esp + 0x114]
mov edi, 1
push ecx
mov ecx, dword [esp + 0x198]
push edi
push ecx
push eax
call fcn.005c9440
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], edx
fild qword [esp + 0x140]
fstp qword [esp + 0x50]
fld qword [esp + 0x50]
fld qword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5f8eff
test byte [ebx + 0x1c], 0x40
je 0x5f90f4
push ebx
call fcn.005e11f0
add esp, 4
mov ebx, esi
test byte [ebx + 0x1c], 0x40
mov dword [esp + 0x14], ebx
je 0x5f9109
push ebx
call fcn.005e11f0
add esp, 4
fld qword [esp + 0x50]
mov al, byte [esp + 0x2c]
test al, 8
fstp qword [ebx + 8]
mov word [ebx + 0x1c], 8
jne case.0x5f88cd.13
push ebx
call fcn.005e1270
jmp 0x5fc814
fstp st(0)
jmp 0x5f8eff
mov esi, dword [esp + 0x1c]
jmp 0x5f8eff
mov eax, dword [edi + 8]
mov edx, dword [esi + 0x2c]
lea ecx, [eax + eax*8]
shl ecx, 3
mov dword [esp + 0x20], edx
mov edx, ecx
mov ecx, ebx
sub ecx, edx
add ecx, 0x48
xor edx, edx
test eax, eax
mov dword [esp + 0x30], eax
jle 0x5f9178
mov eax, dword [esp + 0x20]
mov dword [eax + edx*4], ecx
call fcn.005f8520
mov eax, dword [esp + 0x30]
inc edx
add ecx, 0x48
cmp edx, eax
jl 0x5f9160
mov eax, dword [edi + 0x10]
xor ecx, ecx
cmp eax, 0xfffffffb
mov eax, dword [edi + 0xc]
jne 0x5f918e
mov dword [esp + 0x19c], ecx
jmp 0x5f9197
mov dword [esp + 0x19c], eax
mov eax, dword [eax]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x198], eax
mov word [esp + 0x1bc], 1
mov dword [esp + 0x1b0], ecx
mov byte [esp + 0x1ec], 0
mov cl, byte [eax + 3]
test cl, cl
je 0x5f91da
mov edx, dword [edi - 8]
mov dword [esp + 0x1f0], edx
mov eax, dword [esp + 0x18]
push eax
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x19c]
push edx
lea eax, [esp + 0x1a0]
push eax
call dword [ecx + 0x10]
mov edx, dword [esp + 0x24]
push edx
call fcn.005e09f0
add esp, 0x10
test eax, eax
jne 0x5fc10d
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x5fc95a
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x14]
push ecx
call fcn.005f8550
mov eax, dword [esp + 0x1a0]
add esp, 4
test eax, eax
je 0x5f9269
mov edx, dword [edi + 4]
push edx
push eax
call fcn.005f02b0
mov eax, dword [esp + 0x1a4]
add esp, 8
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], 0xfffffff9
mov al, byte [esp + 0x1ec]
test al, al
je 0x5f929e
lea ecx, [esp + 0x1a0]
push 0
push ecx
call fcn.005ddbc0
add esp, 4
push eax
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0xc
mov dword [esp + 0x10], 1
movzx edx, byte [esp + 0x4c]
push edx
lea eax, [esp + 0x1a4]
push eax
call fcn.005e10a0
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x1a8]
add ebx, 0x48
push ecx
push ebx
mov dword [esp + 0x24], ebx
mov word [ebx + 0x1c], 0
call fcn.005e1990
push ebx
call fcn.005e1390
add esp, 0x14
jmp 0x5fc58e
mov dl, byte [ebx - 0x2c]
mov cl, byte [ebx + 0x1c]
lea eax, [ebx - 0x48]
or dl, cl
test dl, 1
mov dword [esp + 0x1c], eax
je 0x5f931e
mov esi, 2
test byte [ebx + 0x1c], 0x40
je 0x5f9306
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
dec esi
jne 0x5f92f7
add ebx, 0x48
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 1
jmp case.0x5f88cd.13
push eax
call fcn.005e1740
push ebx
mov esi, eax
mov dword [esp + 0xac], edx
call fcn.005e1740
mov ecx, eax
movzx eax, byte [edi]
add eax, 0xffffffb6
add esp, 8
cmp eax, 3
ja case.default.0x5f9343
jmp dword [eax*4 + 0x5fccf0]
mov eax, dword [esp + 0xa4]
and esi, ecx
and eax, edx
mov dword [esp + 0xa4], eax
jmp case.default.0x5f9343
mov eax, dword [esp + 0xa4]
or esi, ecx
or eax, edx
mov dword [esp + 0xa4], eax
jmp case.default.0x5f9343
mov edx, dword [esp + 0xa4]
mov eax, esi
call fcn.005b1bd0
jmp 0x5f9390
mov edx, dword [esp + 0xa4]
mov eax, esi
call fcn.0068f590
mov esi, eax
mov dword [esp + 0xa4], edx
test byte [ebx + 0x1c], 0x40
je 0x5f93a8
push ebx
call fcn.005e11f0
add esp, 4
mov ebx, dword [esp + 0x1c]
test byte [ebx + 0x1c], 0x40
mov dword [esp + 0x14], ebx
je 0x5f93bf
push ebx
call fcn.005e11f0
add esp, 4
mov eax, dword [esp + 0xa4]
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
push ebx
call fcn.005e1860
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
cdq
add esp, 4
add ecx, eax
mov dword [ebx], ecx
adc dword [ebx + 4], edx
jmp case.0x5f88cd.13
mov esi, ebx
call fcn.005f85c0
test byte [ebx + 0x1c], 8
je 0x5f9407
push ebx
call fcn.005e1270
add esp, 4
mov ax, word [ebx + 0x1c]
test al, 0xc
jne 0x5f9434
test al, 0x40
je 0x5f9542
push ebx
call fcn.005e11f0
mov edi, dword [edi + 8]
sub ebx, 0x48
add esp, 4
dec edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
test al, 4
je 0x5f9466
mov eax, dword [edi + 4]
test eax, eax
je 0x5f9454
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x5f94e4
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x5f94e4
push ebx
call fcn.005e1890
fld qword [ebx + 8]
add esp, 4
call fcn.005b31a6
cdq
mov esi, eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edx
fild qword [esp + 0x90]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 5
jp 0x5f94af
add esi, 1
mov eax, edx
adc eax, 0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x5f94dd
fild qword [esp + 0x90]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x5f94dd
mov eax, dword [esp + 0x94]
add esi, 1
adc eax, 0
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x94]
test byte [ebx + 0x1c], 0x40
je 0x5f94f3
push ebx
call fcn.005e11f0
add esp, 4
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov esi, ebx
call fcn.005f85c0
test byte [ebx + 0x1c], 8
je 0x5f9519
push ebx
call fcn.005e1270
add esp, 4
mov ax, word [ebx + 0x1c]
test al, 4
jne 0x5f9556
mov eax, dword [edi + 8]
test eax, eax
je 0x5fc96f
mov eax, dword [edi + 4]
test eax, eax
je 0x5f9549
test byte [ebx + 0x1c], 0x40
je 0x5f9542
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
test al, 0x40
je 0x5f9563
push ebx
call fcn.005e11f0
add esp, 4
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 4
je case.0x5f88cd.13
push ebx
call fcn.005e1890
jmp 0x5fc814
test byte [ebx + 0x1c], 1
jne case.0x5f88cd.13
xor eax, eax
mov ax, word [ebx + 0x1c]
xor ecx, ecx
mov cl, al
shr cl, 3
and ecx, 2
or ecx, eax
mov ax, cx
test al, 2
mov word [ebx + 0x1c], cx
jne 0x5f95bd
test al, 0xc
je 0x5f95bd
movzx edx, byte [esp + 0x4c]
push edx
push ebx
call fcn.005e10d0
add esp, 8
and byte [ebx + 0x1c], 0xf3
test byte [ebx + 0x1d], 8
je 0x5f95dd
push ebx
call fcn.005e1540
add esp, 4
and byte [ebx + 0x1c], 0xe3
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
and byte [ebx + 0x1c], 0xe3
mov dword [esp + 0x10], 0
jmp case.0x5f88cd.13
mov ax, word [ebx + 0x1c]
test al, 1
jne case.0x5f88cd.13
test al, 0x10
jne 0x5f961d
test al, 2
jne 0x5f9615
test al, 0xc
je 0x5f9615
movzx eax, byte [esp + 0x4c]
push eax
push ebx
call fcn.005e10d0
add esp, 8
and byte [ebx + 0x1c], 0xf3
or byte [ebx + 0x1c], 0x10
and byte [ebx + 0x1c], 0xf1
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 0xd
jne case.0x5f88cd.13
push ebx
call fcn.005e18c0
jmp 0x5fc814
test byte [ebx + 0x1c], 1
jne case.0x5f88cd.13
push ebx
call fcn.005e1860
jmp 0x5fc814
test byte [ebx + 0x1c], 1
jne case.0x5f88cd.13
push ebx
call fcn.005e1890
jmp 0x5fc814
mov cl, byte [ebx - 0x2c]
lea esi, [ebx - 0x48]
xor eax, eax
mov ax, word [ebx + 0x1c]
or cl, al
test cl, 1
je 0x5f96a9
mov ecx, dword [edi + 4]
test ch, 2
je 0x5f9715
not eax
and eax, 1
cdq
push edx
push eax
push ebx
call fcn.005e1310
xor eax, eax
mov ax, word [esi + 0x1c]
not eax
and eax, 1
cdq
push edx
push eax
push esi
call fcn.005e1310
add esp, 0x18
mov al, byte [edi + 4]
test al, al
mov byte [esp + 0x3b], al
je 0x5f96d3
mov edx, dword [esp + 0x4c]
push edx
mov ecx, esi
call fcn.005f8650
mov eax, dword [esp + 0x50]
push eax
mov al, byte [esp + 0x43]
mov ecx, ebx
call fcn.005f8650
add esp, 8
test byte [esi + 0x1d], 8
je 0x5f96e2
push esi
call fcn.005e1540
add esp, 4
test byte [ebx + 0x1d], 8
je 0x5f96f1
push ebx
call fcn.005e1540
add esp, 4
mov ecx, dword [edi + 0xc]
push ecx
push ebx
push esi
call fcn.005e1cb0
movzx ecx, byte [edi]
add ecx, 0xffffffbd
add esp, 0xc
cmp ecx, 4
ja case.default.0x5f970e
jmp dword [ecx*4 + 0x5fcd00]
mov esi, 2
lea ebx, [ebx]
test byte [ebx + 0x1c], 0x40
je 0x5f972f
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
dec esi
jne 0x5f9720
mov eax, dword [edi + 8]
test eax, eax
mov dword [esp + 0x14], ebx
je 0x5f8dc5
mov ecx, dword [edi + 4]
test ch, 1
je case.0x5f88cd.13
dec eax
mov dword [esp + 0x28], eax
jmp case.0x5f88cd.13
xor edx, edx
test eax, eax
sete dl
mov esi, edx
jmp 0x5f9796
xor ecx, ecx
test eax, eax
setne cl
jmp 0x5f9794
xor edx, edx
test eax, eax
setl dl
mov esi, edx
jmp 0x5f9796
xor ecx, ecx
test eax, eax
setle cl
jmp 0x5f9794
xor edx, edx
test eax, eax
setg dl
mov esi, edx
jmp 0x5f9796
xor ecx, ecx
test eax, eax
setge cl
mov esi, ecx
mov dword [esp + 0x20], 2
mov edi, edi
test byte [ebx + 0x1c], 0x40
je 0x5f97af
push ebx
call fcn.005e11f0
add esp, 4
mov eax, dword [esp + 0x20]
sub ebx, 0x48
dec eax
mov dword [esp + 0x20], eax
jne 0x5f97a0
mov edi, dword [edi + 8]
test edi, edi
mov dword [esp + 0x14], ebx
je 0x5f97da
test esi, esi
je case.0x5f88cd.13
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
add ebx, 0x48
mov eax, esi
cdq
mov word [ebx + 0x1c], 4
mov dword [ebx], eax
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], edx
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 1
je 0x5f9801
mov esi, 2
jmp 0x5f981c
push ebx
call fcn.005e1860
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
add esp, 4
or edx, eax
jne 0x5f981a
mov esi, 1
jmp 0x5f981c
xor esi, esi
test byte [ebx - 0x2c], 1
je 0x5f9829
mov eax, 2
jmp 0x5f9848
lea eax, [ebx - 0x48]
push eax
call fcn.005e1860
mov eax, dword [ebx - 0x48]
mov ecx, dword [ebx - 0x44]
add esp, 4
or eax, ecx
jne 0x5f9846
mov eax, 1
jmp 0x5f9848
xor eax, eax
cmp byte [edi], 0x3d
jne 0x5f985a
lea ecx, [eax + esi*2]
movzx edi, byte [esi + ecx + 0x70eed4]
jmp 0x5f9865
lea edx, [eax + esi*2]
movzx edi, byte [esi + edx + 0x70eee0]
mov esi, 2
lea ebx, [ebx]
test byte [ebx + 0x1c], 0x40
je 0x5f987f
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
dec esi
jne 0x5f9870
add ebx, 0x48
cmp edi, 2
mov dword [esp + 0x14], ebx
jne 0x5f989c
mov word [ebx + 0x1c], 1
jmp case.0x5f88cd.13
xor eax, eax
test edi, edi
sete al
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 0xd
jne 0x5f98c3
push ebx
call fcn.005e18c0
add esp, 4
mov ax, word [ebx + 0x1c]
test al, 8
je 0x5f9900
test al, 0x40
je 0x5f98d8
push ebx
call fcn.005e11f0
add esp, 4
cmp byte [edi], 0x55
je 0x5f98ed
fld qword [ebx + 8]
fcomp qword [0x6eead8]
fnstsw ax
test ah, 5
jp 0x5f98f5
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov word [ebx + 0x1c], 8
jmp case.0x5f88cd.13
test al, 4
je case.0x5f88cd.13
test al, 0x40
je 0x5f9915
push ebx
call fcn.005e11f0
add esp, 4
cmp byte [edi], 0x55
je 0x5f9928
mov eax, dword [ebx + 4]
test eax, eax
jg 0x5f9939
jl 0x5f9928
cmp dword [ebx], 0
jae 0x5f9939
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
neg eax
adc ecx, 0
neg ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 1
jne case.0x5f88cd.13
push ebx
call fcn.005e1860
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
add esp, 4
or edx, eax
jne 0x5f9976
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 1
jne case.0x5f88cd.13
push ebx
call fcn.005e1860
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
not eax
not ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov word [ebx + 0x1c], 4
jmp 0x5fc814
test byte [ebx + 0x1c], 1
je 0x5f99bd
mov esi, dword [edi + 4]
jmp 0x5f99ec
push ebx
call fcn.005e17d0
fld qword [0x6eead8]
fucompp
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x5f99dc
mov esi, 1
jmp 0x5f99de
xor esi, esi
cmp byte [edi], 0x5a
jne 0x5f99ec
xor edx, edx
test esi, esi
sete dl
mov esi, edx
test byte [ebx + 0x1c], 0x40
je 0x5f99fb
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
test esi, esi
mov dword [esp + 0x14], ebx
je case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 1
je 0x5f9a3f
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 4]
test eax, eax
jge 0x5f9a3f
lea ecx, [esp + 0x14]
neg eax
push ecx
call fcn.005f8550
mov ebx, dword [esp + 0x18]
add esp, 4
mov edi, dword [edi + 4]
test edi, edi
jle case.0x5f88cd.13
lea edx, [esp + 0x14]
push edx
mov eax, edi
jmp 0x5fc80b
mov eax, dword [edi + 4]
test eax, eax
mov dword [esp + 0x2c], eax
jge 0x5f9a63
neg eax
xor edx, edx
test eax, eax
jle 0x5f9a8b
lea ecx, [eax + eax*8]
shl ecx, 3
mov esi, ecx
mov ecx, ebx
sub ecx, esi
add ecx, 0x64
test byte [ecx], 1
jne 0x5f9a87
inc edx
add ecx, 0x48
cmp edx, eax
jl 0x5f9a78
jmp 0x5f9a8b
cmp edx, eax
jl 0x5f9a93
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle case.0x5f88cd.13
lea edx, [esp + 0x14]
push edx
jmp 0x5fc80b
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov dword [edx + 0x50], eax
jmp case.0x5f88cd.13
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
xor edx, edx
add ebx, 0x48
mov word [esp + 0x274], dx
mov word [ebx + 0x1c], 1
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x38]
mov edi, dword [ecx + eax*4]
cmp dword [edi], edx
mov dword [esp + 0x14], ebx
je 0x5f9bac
push edi
call fcn.005f0310
xor ecx, ecx
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jne 0x5fc115
mov al, byte [edi + 0x1c]
test al, al
mov edx, dword [edi]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edx
je 0x5f9b1a
mov dword [esp + 0x48], ecx
jmp 0x5f9b66
mov eax, dword [edi + 0x68]
cmp eax, dword [esi + 0x5c]
jne 0x5f9b32
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x48], ecx
mov edx, dword [edi + 0x78]
mov dword [esp + 0x34], edx
jmp 0x5f9b66
mov al, byte [edi + 0x21]
test al, al
mov ecx, dword [esp + 0x24]
je 0x5f9b58
lea eax, [esp + 0x180]
push eax
push ecx
call fcn.005e88c0
mov edx, dword [esp + 0x188]
mov dword [esp + 0x50], edx
jmp 0x5f9b63
lea eax, [esp + 0x48]
push eax
push ecx
call fcn.005e8950
add esp, 8
mov edx, dword [edi + 0x50]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x5c]
xor edx, edx
mov eax, dword [esp + 0x48]
cmp eax, edx
je case.0x5f88cd.13
cmp eax, 0x3b9aca00
ja 0x5fc596
mov edx, dword [edi + 0x68]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x5c]
jne 0x5f9bda
mov edx, dword [edi + 0x70]
mov eax, dword [edi + 0x74]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], eax
jmp 0x5f9dc8
mov al, byte [edi + 0x1e]
test al, al
je 0x5f9bd1
mov eax, dword [edi + 0x34]
mov dword [esp + 0x48], eax
mov ecx, dword [edi + 0x38]
mov esi, dword [edi + 0x50]
mov dword [esp + 0x34], ecx
mov dword [edi + 0x68], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x24], edx
jmp 0x5f9b77
mov dword [esp + 0x48], edx
jmp case.0x5f88cd.13
mov eax, dword [edi + 0x70]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x5f9c0d
mov edx, dword [esp + 0x18]
lea ecx, [esi*8]
push ecx
push edx
call fcn.005f1f40
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
mov dword [edi + 0x70], eax
je 0x5f8b9c
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov edx, dword [ebp + 8]
lea eax, [eax + esi*4]
mov dword [esp + 0x30], eax
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x6c], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x68], eax
je 0x5f9c2f
mov esi, ecx
jmp 0x5f9c80
mov al, byte [edi + 0x21]
test al, al
je 0x5f9c4a
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xbc]
push ecx
push edx
call fcn.005e4b20
jmp 0x5f9c5c
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xbc]
push eax
push ecx
call fcn.005e4b90
mov edx, dword [esp + 0xc4]
mov esi, eax
mov eax, dword [esp + 0x50]
add esp, 8
cmp edx, eax
jb 0x5f9c79
mov dword [esp + 0x34], esi
mov dword [edi + 0x78], esi
jmp 0x5f9c80
mov dword [edi + 0x78], 0
movzx eax, byte [esi]
cmp eax, 0x7f
mov dword [esp + 0x70], eax
ja 0x5f9c96
mov dword [esp + 0x64], 1
jmp 0x5f9ca8
lea eax, [esp + 0x70]
push eax
push esi
call fcn.005e0820
add esp, 8
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x5f9ced
mov eax, dword [esp + 0x70]
cmp dword [esp + 0xbc], eax
jae 0x5f9ced
movzx edx, byte [edi + 0x21]
lea ecx, [esp + 0x258]
push ecx
push edx
push eax
mov eax, dword [esp + 0x30]
push 0
push eax
call fcn.005e1400
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov esi, dword [esp + 0x26c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
add ecx, esi
add edx, esi
test eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x10], edx
jbe 0x5f9d84
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
sub eax, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], ecx
nop
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x78]
jae 0x5f9d6f
mov edx, dword [esp + 0x70]
mov dword [eax + esi], edx
movzx eax, byte [ecx]
cmp eax, 0x7f
mov dword [esi], eax
ja 0x5f9d42
mov eax, 1
jmp 0x5f9d50
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.005e0820
add esp, 8
add dword [esp + 0x10], eax
mov ecx, dword [esi]
push ecx
call fcn.005f0460
mov ecx, dword [esp + 0x74]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x70], ecx
jmp 0x5f9d76
mov dword [eax + esi], 0
mov ecx, dword [esp + 0x64]
add esi, 4
dec ecx
mov dword [esp + 0x64], ecx
jne 0x5f9d20
test byte [esp + 0x274], 0x40
je 0x5f9d9e
lea edx, [esp + 0x258]
push edx
call fcn.005e11f0
add esp, 4
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x10], eax
mov word [esp + 0x274], 1
ja 0x5f9e91
mov ecx, dword [esp + 0x70]
cmp ecx, dword [esp + 0x48]
ja 0x5f9e91
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x5f9e41
test ecx, ecx
mov esi, dword [esp + 0x20]
je 0x5f9de3
add eax, ecx
jmp 0x5f9e26
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + esi*4]
push edx
call fcn.005f0460
movzx edx, byte [edi + 0x21]
lea ecx, [esp + 0x25c]
push ecx
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + esi*4]
push ecx
push edx
call fcn.005e1400
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + esi*4]
push ebx
push edx
push eax
call fcn.005f0540
mov al, byte [esp + 0x58]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp 0x5f9e65
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x10], 0xfffffff8
jne 0x5f9e5f
mov ecx, dword [eax + 0xc]
push 0x80
push ecx
push ebx
call fcn.005e13c0
add esp, 0xc
jmp 0x5f9e65
mov word [ebx + 0x1c], 1
test byte [esp + 0x274], 0x40
je 0x5f9e82
xor edx, edx
mov dx, word [ebx + 0x1c]
and edx, 0xfeff
or edx, 0x60
mov word [ebx + 0x1c], dx
push ebx
call fcn.005e15f0
mov dword [esp + 0x14], eax
jmp 0x5fc814
mov dword [esp + 0x10], 0xb
jmp case.0x5f88cd.13
xor eax, eax
xor edx, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 4]
test eax, eax
setl dl
mov dword [esp + 0x58], 0
mov dword [esp + 0x7c], edx
xor edx, edx
cmp dword [esp + 0x7c], edx
sete dl
lea edx, [edx + edx - 1]
imul eax, edx
mov edx, dword [edi + 8]
mov dword [esp + 0x2c], edx
xor edx, edx
cmp cl, 0x38
mov ecx, dword [edi + 0xc]
sete dl
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], ecx
movzx ecx, byte [esi + 0x109]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x5c], edx
lea edx, [eax + eax*8]
shl edx, 3
mov eax, ebx
sub eax, edx
mov dword [esp + 0x6c], eax
add eax, 0x48
cmp eax, ebx
mov dword [esp + 0xe0], eax
ja 0x5fa036
mov ecx, 0xffffffe8
sub ecx, eax
mov edx, ebx
sub edx, eax
lea esi, [eax + 0x1c]
mov eax, 0x38e38e39
mul edx
shr edx, 4
inc edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], edx
lea ebx, [ebx]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5f9f88
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
push eax
lea ecx, [ecx + esi - 4]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x7c]
mov al, byte [eax + edx]
lea ecx, [esi - 0x1c]
call fcn.005f8650
add esp, 4
mov ax, word [esi]
test al, 1
je 0x5f9f97
mov dword [esp + 0x58], 1
test ah, 8
je 0x5f9faf
mov eax, dword [esi - 4]
test eax, eax
jle 0x5f9faf
lea eax, [esi - 0x1c]
push eax
call fcn.005e1540
add esp, 4
mov ecx, dword [esp + 0x20]
lea eax, [esi - 0x1c]
push ecx
push eax
call fcn.005f0380
mov edi, eax
push edi
call fcn.005f0460
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x40], eax
cdq
add ecx, eax
mov eax, dword [esp + 0x98]
adc eax, edx
push 0
push edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
call fcn.005e0890
mov ecx, dword [esp + 0x44]
add ecx, eax
add esp, 0x14
test byte [esi + 1], 8
mov dword [esp + 0x30], ecx
je 0x5fa014
mov eax, dword [esp + 0x1c]
mov edx, dword [esi - 0x1c]
add eax, edx
mov dword [esp + 0x1c], eax
jmp 0x5fa024
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5fa024
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x64]
add esi, 0x48
dec eax
mov dword [esp + 0x64], eax
jne 0x5f9f50
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5fa098
mov esi, dword [esp + 0x6c]
push esi
mov dword [esp + 0x40], esi
call fcn.005e1860
push 0
push esi
call fcn.005f0380
mov esi, eax
push esi
call fcn.005f0460
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
cdq
add edi, eax
adc ecx, edx
push 0
push esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ecx
call fcn.005e0890
mov esi, dword [esp + 0x48]
add esp, 0x18
add esi, eax
mov dword [esp + 0x1c], 0
jmp 0x5fa09c
mov esi, dword [esp + 0x30]
mov eax, esi
cdq
push edx
push eax
call fcn.005e0890
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
call fcn.005e0890
add esp, 0x10
cmp edi, eax
jge 0x5fa0bc
inc esi
mov eax, dword [esp + 0x1c]
cdq
mov ecx, eax
mov eax, esi
mov dword [esp + 0xf4], edx
cdq
mov esi, eax
mov dword [esp + 0xf0], ecx
mov edi, esi
sub edi, ecx
mov ecx, dword [esp + 0xf4]
mov eax, edx
sbb eax, ecx
add edi, dword [esp + 0x88]
adc eax, dword [esp + 0x8c]
mov dword [esp + 0x17c], edx
mov dword [esp + 0x18c], eax
jne 0x5fc596
cmp edi, 0x3b9aca00
ja 0x5fc596
test eax, eax
ja 0x5fa11c
cmp edi, 0x20
jbe 0x5fa13f
mov eax, dword [esp + 0x18]
push edi
push eax
call fcn.005f1f40
add esp, 8
test eax, eax
mov dword [esp + 0x34], eax
je 0x5f8b9c
mov edx, dword [esp + 0x17c]
jmp 0x5fa14a
lea ecx, [esp + 0x300]
mov dword [esp + 0x34], ecx
push edx
mov edx, dword [esp + 0x38]
push esi
push edx
call fcn.005e0610
mov esi, eax
mov eax, dword [esp + 0xec]
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x24], eax
ja 0x5fa1a3
lea ebx, [ebx]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.005f0380
mov edx, dword [esp + 0x3c]
push 0
push eax
lea eax, [esi + edx]
push eax
call fcn.005e0610
add esi, eax
mov eax, dword [esp + 0x38]
add eax, 0x48
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x24], eax
jbe 0x5fa170
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5fa1cc
mov ecx, dword [esp + 0x3c]
push 0
push ecx
call fcn.005f0380
mov edx, dword [esp + 0x3c]
push 0
push eax
lea eax, [esi + edx]
push eax
call fcn.005e0610
add esp, 0x14
add esi, eax
mov eax, dword [esp + 0xe0]
cmp eax, ebx
mov dword [esp + 0x24], eax
ja 0x5fa210
jmp 0x5fa1e0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov eax, edi
sub eax, esi
push eax
lea edx, [esi + ecx]
push edx
call fcn.005f0480
add esi, eax
mov eax, dword [esp + 0x34]
add eax, 0x48
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x24], eax
jbe 0x5fa1e0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5fa233
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
push 0
push eax
mov ecx, edi
sub ecx, esi
push ecx
add esi, edx
push esi
call fcn.005f0480
add esp, 0x10
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x5fa256
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x14]
add eax, ecx
push edx
call fcn.005f8550
mov ebx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x18c]
add ebx, 0x48
test eax, eax
mov dword [esp + 0x14], ebx
mov dword [ebx + 0x18], edi
ja 0x5fa299
jb 0x5fa272
cmp edi, 0x20
ja 0x5fa299
lea eax, [ebx + 0x24]
mov ecx, edi
mov dword [ebx + 0x14], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x300]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [ebx + 0x1c], 0x210
jmp 0x5fa2ad
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x14], ecx
mov word [ebx + 0x1c], 0x50
mov dword [ebx + 0x20], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5fa2cc
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [ebx], edx
mov dword [ebx + 4], eax
or byte [ebx + 0x1d], 8
mov eax, dword [esp + 0x2c]
test eax, eax
mov byte [ebx + 0x1f], 1
je case.0x5f88cd.13
mov eax, dword [esp + 0x58]
test eax, eax
je case.0x5f88cd.13
mov ecx, dword [esp + 0x2c]
dec ecx
mov dword [esp + 0x28], ecx
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
test edi, edi
jl case.0x5f88cd.13
mov eax, dword [esp + 0x18]
cmp edi, dword [eax + 4]
jge case.0x5f88cd.13
mov ecx, dword [eax + 8]
lea edx, [edi + edi*2]
mov edi, dword [ecx + edx*8 + 4]
test edi, edi
je case.0x5f88cd.13
mov cl, byte [eax + 0x1c]
test cl, cl
jne case.0x5f88cd.13
push edi
call fcn.005e7f60
add esp, 4
test eax, eax
jne case.0x5f88cd.13
push edi
call fcn.005e4360
mov dword [esp + 0x14], eax
mov dword [esi + 0x154], 1
jmp 0x5fc814
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x60], 1
mov al, byte [edi + 4]
mov dl, byte [edi + 8]
mov byte [esp + 0x3b], al
jle 0x5fa3aa
test al, al
je 0x5fa3aa
cmp byte [ecx + 0x1c], 0
jne 0x5fa3aa
test dl, dl
mov eax, str.rollback
jne 0x5fa381
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
push str.cannot
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0x14
mov dword [esp + 0x10], 1
jmp case.0x5f88cd.13
cmp al, byte [ecx + 0x1c]
jne 0x5fc97c
test al, al
jne 0x5fa3c4
mov eax, str.cannot_start_a_transaction_within_a_transaction
push 0
push eax
jmp 0x5fc5f9
test dl, dl
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x5fa3d2
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
jmp 0x5fc5f9
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je case.0x5f88cd.13
mov edx, dword [edi + 8]
push edx
push eax
call fcn.005e3e30
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x5fc9dd
test eax, eax
je case.0x5f88cd.13
cmp eax, 8
jne 0x5fc115
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
test eax, eax
mov edi, dword [edi + 8]
jge 0x5fa436
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
neg edi
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xf8]
push edx
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
inc edi
push edi
push eax
call fcn.005e74b0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x104]
cdq
add esp, 0xc
add ebx, 0x48
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 8]
push ebx
lea esi, [eax + ecx*8]
call fcn.005e1860
mov ecx, dword [ebx]
mov edx, dword [edi + 8]
mov eax, dword [esi + 4]
push ecx
inc edx
push edx
push eax
call fcn.005e75c0
mov dword [esp + 0x20], eax
mov eax, dword [edi + 8]
add esp, 0x10
test eax, eax
jne 0x5fa4c0
mov ecx, dword [esi + 0x14]
mov edx, dword [ebx]
mov eax, dword [esp + 0x18]
mov dword [ecx], edx
or dword [eax + 0xc], 0x10
jmp 0x5fa4cd
cmp eax, 1
jne 0x5fa4cd
mov eax, dword [esi + 0x14]
mov cl, byte [ebx]
mov byte [eax + 0x58], cl
mov eax, dword [edi + 4]
sub ebx, 0x48
cmp eax, 1
mov dword [esp + 0x14], ebx
jne case.0x5f88cd.13
mov edx, dword [esp + 0x18]
push edx
call fcn.005f0cd0
jmp 0x5fc814
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
xor ecx, ecx
cmp eax, ecx
je 0x5fa5a0
lea ecx, [esp + 0xc4]
push ecx
push 1
push eax
call fcn.005e74b0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov edx, dword [esp + 0xc4]
cmp edx, dword [edi + 8]
je case.0x5f88cd.13
mov eax, dword [esi + 0x100]
push eax
call fcn.005dd690
mov ecx, dword [esp + 0x1c]
push 0x70d410
push ecx
call fcn.005f2070
mov dword [esi + 0x100], eax
mov eax, dword [esp + 0x24]
mov edi, dword [edi + 4]
mov ecx, dword [eax + 8]
lea edx, [edi + edi*2]
mov edx, dword [ecx + edx*8 + 0x14]
mov eax, dword [edx]
mov ecx, dword [esp + 0xd0]
add esp, 0xc
cmp eax, ecx
je 0x5fa589
mov ecx, dword [esp + 0x18]
push edi
push ecx
call fcn.005eb3d0
add esp, 8
mov edx, dword [esp + 0x18]
push edx
call fcn.005f0cd0
mov dword [esp + 0x14], 0x11
jmp 0x5fc814
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc4], ecx
jmp 0x5fa529
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
push ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], ecx
call fcn.005e1860
mov eax, dword [ebx]
lea edx, [eax + eax*2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
lea eax, [ecx + edx*8]
mov cl, byte [edi]
mov edx, dword [eax + 4]
sub ebx, 0x48
add esp, 4
cmp cl, 9
mov dword [esp + 0x14], ebx
mov dword [esp + 0x58], edx
jne 0x5fa60d
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x58]
cmp al, byte [esi + 0x109]
mov dword [esp + 0x2c], 1
jae 0x5fa615
mov byte [esi + 0x109], al
jmp 0x5fa615
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x20]
test eax, eax
jg 0x5fa633
push ebx
call fcn.005e1860
mov ecx, dword [ebx]
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x6c]
mov esi, dword [ebp + 8]
push edx
call fcn.005f8580
mov esi, eax
add esp, 4
test esi, esi
je 0x5f8b9c
mov eax, dword [esp + 0x58]
test eax, eax
mov byte [esi + 0x1c], 1
je case.0x5f88cd.13
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
push esi
push eax
mov eax, dword [esp + 0x60]
push fcn.005f0760
push ecx
push edx
push eax
call fcn.005e8880
mov ecx, dword [edi + 0x10]
add esp, 0x18
cmp ecx, 0xfffffffa
mov dword [esp + 0x10], eax
jne 0x5fa6b8
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x4c], ecx
add ecx, 5
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [esi + 0x4c]
mov dl, byte [edx + 0x59]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x10]
jmp 0x5fa6c8
lea ecx, [esi + 0x22]
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x4c], 0
test eax, eax
je 0x5fa701
cmp eax, 5
je 0x5fc9f1
cmp eax, 0x10
jne 0x5fc115
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x10], 0xfffffffa
setne al
test al, al
mov byte [esi + 0x20], al
sete al
mov byte [esi + 0x21], al
mov dword [esp + 0x10], 0
jmp case.0x5f88cd.13
mov ecx, dword [esi]
push ecx
call fcn.005e7650
add esp, 4
test al, 0xf0
jne 0x5fa750
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x5fa71f
cmp ecx, 2
jne 0x5fa750
mov dl, al
and dl, 1
shr eax, 1
and al, 1
mov cl, dl
test cl, cl
mov byte [esi + 0x20], dl
mov byte [esi + 0x21], al
je 0x5fa73a
cmp dword [edi + 0x10], 0xfffffffa
je 0x5fa750
test al, al
je case.0x5f88cd.13
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x10], 0xfffffffa
je case.0x5f88cd.13
mov dword [esp + 0x10], 0xb
jmp 0x5fc115
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + 4]
mov esi, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.005f8580
mov esi, eax
add esp, 4
test esi, esi
je 0x5f8b9c
mov edx, dword [esp + 0x18]
lea edi, [esi + 0x30]
push edi
push 0x41e
push 0x1f4
push 1
push 0
push edx
mov byte [esi + 0x1c], 1
call fcn.005dc990
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fa85c
mov eax, dword [edi]
push 1
push eax
call fcn.005e3e30
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fa85c
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
test eax, eax
mov eax, dword [edi]
je 0x5fa83c
push 2
lea edx, [esp + 0x110]
push edx
push eax
call fcn.005e8f40
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fa836
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x10c]
mov ecx, dword [edi]
push esi
push edx
push fcn.005f0760
push 1
push eax
push ecx
call fcn.005e8880
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0x4c], eax
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0x14]
mov cl, byte [edx + 0x59]
mov byte [eax + 4], cl
mov edx, dword [esi + 0x4c]
add esp, 0x18
add edx, 5
mov dword [esi + 0x48], edx
mov byte [esi + 0x20], 0
jmp 0x5fa85c
push esi
push 0
push 0
push 1
push 1
push eax
call fcn.005e8880
lea ecx, [esi + 0x22]
add esp, 0x18
mov dword [esp + 0x10], eax
mov byte [esi + 0x20], 1
mov dword [esi + 0x48], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
mov dword [esi + 0x50], eax
mov al, byte [esi + 0x20]
test al, al
sete cl
mov byte [esi + 0x21], cl
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 4]
mov esi, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.005f8580
add esp, 4
test eax, eax
je 0x5f8b9c
lea ecx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x48], ecx
mov byte [eax + 0x20], 1
mov byte [eax + 0x21], 0
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
test edi, edi
jl case.0x5f88cd.13
cmp edi, dword [esi + 0x34]
jge case.0x5f88cd.13
mov edx, dword [esi + 0x38]
mov eax, dword [edx + edi*4]
push eax
push esi
call fcn.005efb70
mov ecx, dword [esi + 0x38]
add esp, 8
mov dword [ecx + edi*4], 0
jmp case.0x5f88cd.13
mov eax, dword [esi + 0x38]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x5faa47
mov eax, dword [esp + 0x20]
cmp eax, 7
mov byte [esi + 0x1c], 0
je 0x5fa908
cmp eax, 0x59
je 0x5fa908
xor eax, eax
jmp 0x5fa90d
mov eax, 1
mov ecx, dword [esi + 0x48]
mov byte [ecx], al
mov al, byte [esi + 0x20]
test al, al
je 0x5fa984
push ebx
call fcn.005e1860
mov edx, dword [edi + 8]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add esp, 4
test edx, edx
jne 0x5fa949
cmp byte [edi], 0x81
jne 0x5fa949
sub ebx, 0x48
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
lea edx, [esp + 0x60]
push edx
push 0
push ecx
push eax
mov eax, dword [esi]
push 0
push eax
call fcn.005e4f20
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov ecx, dword [ebx]
mov eax, dword [esp + 0x60]
test eax, eax
mov dword [esi + 8], ecx
mov edx, dword [ebx + 4]
sete al
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], al
jmp 0x5fa9be
test byte [ebx + 0x1d], 8
je 0x5fa993
push ebx
call fcn.005e1540
add esp, 4
mov eax, dword [ebx + 0x18]
lea ecx, [esp + 0x60]
push ecx
cdq
push 0
push edx
mov edx, dword [ebx + 0x14]
push eax
mov eax, dword [esi]
push edx
push eax
call fcn.005e4f20
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov byte [esi + 0x19], al
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x48]
xor ecx, ecx
cmp eax, 0x81
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], ecx
mov byte [edx], cl
je 0x5faa28
cmp eax, 7
je 0x5faa28
cmp dword [esp + 0x60], ecx
jl 0x5faa17
mov ecx, dword [esi]
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.005e8cc0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov byte [esi + 0x19], al
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5faa47
mov edi, dword [edi + 8]
test edi, edi
jle 0x5faa43
dec edi
mov dword [esp + 0x28], edi
jmp 0x5faa47
mov edx, dword [esi]
push edx
call fcn.005e5260
add esp, 4
mov dword [esp + 0x60], eax
jmp 0x5faa01
cmp dword [esp + 0x60], ecx
jge 0x5faa3d
mov ecx, dword [esi]
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.005e8b60
jmp 0x5fa9ef
mov dword [esp + 0x60], ecx
jmp 0x5faa47
mov byte [esi + 0x1c], 1
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov ecx, dword [esi + 0x38]
mov edx, dword [edi + 4]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi]
xor eax, eax
test ecx, ecx
je 0x5faad6
test byte [ebx + 0x1c], 0x12
jne 0x5faa94
movzx edx, byte [esp + 0x4c]
push edx
push ebx
call fcn.005e10d0
add esp, 8
test eax, eax
jne 0x5f8b9c
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x100]
push eax
mov eax, dword [ebx + 0x18]
cdq
push 0
push edx
mov edx, dword [esi]
push eax
push ecx
push edx
call fcn.005e4f20
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov ecx, dword [esp + 0x100]
test ecx, ecx
sete al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov cl, byte [edi]
cmp cl, 0x87
jne 0x5faae3
test eax, eax
je 0x5faaef
jmp 0x5faae7
test eax, eax
jne 0x5faaef
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
cmp cl, 0x71
je case.0x5f88cd.13
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
lea ecx, [ebx - 0x48]
push ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], ecx
call fcn.005e1860
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x38]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x124], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x128], eax
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
add esp, 4
test eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
je case.0x5f88cd.13
mov eax, ebx
test byte [eax + 0x1c], 0x12
jne 0x5fab86
movzx ecx, byte [esp + 0x4c]
push ecx
push eax
call fcn.005e10d0
add esp, 8
test eax, eax
jne 0x5f8b9c
mov eax, ebx
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
push ecx
mov dword [esp + 0x30], ecx
call fcn.005f0a70
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
sub esi, eax
lea eax, [esp + 0x78]
push eax
mov dword [edx + 0x68], 0
push 0
mov eax, esi
cdq
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
call fcn.005e4f20
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov eax, dword [esp + 0x74]
test eax, eax
jge 0x5fac00
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x74]
push eax
push ecx
call fcn.005e8b60
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
add esp, 8
test eax, eax
je 0x5fac00
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x74]
push edx
push eax
push esi
push ecx
call fcn.005f0bd0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x5fac39
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x130]
push edx
push eax
call fcn.005f0ac0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov eax, dword [esp + 0x130]
cmp eax, dword [esp + 0x120]
jne 0x5fac87
mov ecx, dword [esp + 0x134]
cmp ecx, dword [esp + 0x124]
jne 0x5fac87
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
add ebx, 0x48
mov dword [ebx], eax
mov edx, dword [esp + 0x134]
mov dword [ebx + 4], edx
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x5fad09
mov ecx, dword [ebx]
lea edx, [esp + 0x108]
push edx
mov edx, dword [ebx + 4]
push 0
push edx
push ecx
push 0
push eax
call fcn.005e4f20
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x120]
mov ecx, dword [ebx + 4]
add esp, 0x18
test eax, eax
sete dl
test eax, eax
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
je 0x5fad09
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov byte [esi + 0x19], 0
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x58]
mov dword [ebx + 0x48], edx
mov eax, dword [ecx + 0x5c]
add ebx, 0x48
mov dword [ebx + 4], eax
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx + edi*4]
mov edx, dword [eax + 0x58]
mov ecx, dword [eax + 0x5c]
add edx, 1
adc ecx, 0
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], ecx
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov eax, dword [eax + edx*4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
cmp eax, ecx
je 0x5faff2
push eax
mov dword [esp + 0x24], ecx
call fcn.005e7650
and al, 3
add esp, 4
cmp al, 1
jne 0x5fa750
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x1b]
test cl, cl
jne 0x5faeff
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x5fadc8
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x44], edx
jmp 0x5fae4f
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea eax, [esp + 0xc0]
push eax
push edx
call fcn.005e4ee0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x5fae08
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
jmp 0x5fae4f
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea eax, [esp + 0x40]
push eax
push edx
call fcn.005e88c0
mov eax, dword [esp + 0x48]
add esp, 8
cmp eax, 0xffffffff
jne 0x5fae39
cmp dword [esp + 0x44], 0x7fffffff
jne 0x5fae39
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1b], 1
jmp 0x5fae4f
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, 1
adc eax, 0
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edi, dword [edi + 8]
test edi, edi
je 0x5faeb7
mov edx, dword [esi + 0x54]
lea ecx, [edi + edi*8]
lea esi, [edx + ecx*8]
push esi
call fcn.005e1860
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x5fae7e
cmp ecx, 0x7fffffff
je 0x5fca1a
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x1b], 0
jne 0x5fca1a
mov edx, dword [esp + 0x44]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x5faeaa
jl 0x5faea2
cmp dword [esp + 0x40], eax
jae 0x5faeaa
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x40]
mov dword [esi], eax
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], ecx
cmp dword [esp + 0x44], 0x7fffffff
ja 0x5faee8
jb 0x5faeca
cmp dword [esp + 0x40], 0xffffffff
jae 0x5faee8
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1d], 1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add edx, 1
adc ecx, 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp 0x5faef0
mov edx, dword [esp + 0x1c]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x1c]
mov cl, byte [eax + 0x1b]
test cl, cl
je 0x5fafdf
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
xor esi, esi
or ecx, eax
je 0x5faf48
cmp esi, 2
jg 0x5faf48
lea eax, [esp + 0x6b]
push eax
push 1
call fcn.0060a0b0
movzx eax, byte [esp + 0x73]
mov ecx, dword [esp + 0x48]
add esp, 8
inc eax
cdq
add ecx, eax
mov eax, dword [esp + 0x44]
adc eax, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x5faf76
lea ecx, [esp + 0x40]
push ecx
push 8
call fcn.0060a0b0
mov ecx, dword [esp + 0x48]
add esp, 8
cmp esi, 5
jge 0x5faf72
and ecx, 0xffffff
xor eax, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x5faf76
mov eax, dword [esp + 0x44]
mov edx, ecx
or edx, eax
je 0x5fafa6
lea edx, [esp + 0xc0]
push edx
push 0
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.005e4f20
mov ecx, dword [esp + 0x58]
add esp, 0x18
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x44]
inc esi
cmp esi, 0x3e8
mov edi, dword [esp + 0xc0]
jge 0x5fafc5
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x5fafc5
test edi, edi
je 0x5faf13
mov edx, dword [esp + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x20]
test eax, eax
mov dword [edx + 0x30], ecx
jne 0x5fafdf
test edi, edi
je 0x5fca1a
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x68], 0
mov edx, dword [esp + 0x40]
add ebx, 0x48
mov dword [ebx], edx
mov eax, dword [esp + 0x44]
mov dword [ebx + 4], eax
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
cmp dword [eax], 0
mov dword [esp + 0x24], eax
jne 0x5fb02e
mov cl, byte [eax + 0x1e]
test cl, cl
je 0x5fb1df
mov ecx, dword [ebx - 0x48]
mov edx, dword [ebx - 0x44]
mov dword [esp + 0xc8], ecx
test byte [edi + 8], 1
mov dword [esp + 0xcc], edx
je 0x5fb04e
inc dword [esi + 0x10c]
test byte [edi + 8], 2
je 0x5fb064
mov edx, dword [ebx - 0x48]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x28], edx
mov edx, dword [ebx - 0x44]
mov dword [ecx + 0x2c], edx
mov cl, byte [eax + 0x1d]
test cl, cl
je 0x5fb081
mov ecx, dword [ebx - 0x44]
cmp ecx, dword [eax + 0x14]
jl 0x5fb081
jg 0x5fb07d
mov edx, dword [ebx - 0x48]
cmp edx, dword [eax + 0x10]
jb 0x5fb081
mov byte [eax + 0x1d], 0
test byte [ebx + 0x1c], 1
je 0x5fb08f
xor ecx, ecx
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], ecx
mov cl, byte [eax + 0x1e]
test cl, cl
je 0x5fb135
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x38]
push eax
call fcn.005dd690
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x34], eax
mov cl, byte [ebx + 0x1c]
add esp, 4
test cl, 0x40
je 0x5fb0e1
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x38], eax
mov word [ebx + 0x1c], 1
mov byte [esi + 0x1c], 0
jmp 0x5fb17a
add eax, 2
push eax
call fcn.005dd5a0
add esp, 4
test eax, eax
mov dword [esi + 0x38], eax
je 0x5f8b9c
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x34]
mov esi, dword [ebx + 0x14]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x38]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov ecx, dword [edx + 0x34]
mov edx, dword [edx + 0x38]
mov byte [ecx + edx + 1], 0
mov byte [esi + 0x1c], 0
jmp 0x5fb17a
test byte [ebx + 0x1d], 8
je 0x5fb13f
mov eax, dword [ebx]
jmp 0x5fb141
xor eax, eax
mov ecx, dword [edi + 8]
mov edx, dword [ebx + 0x18]
and ecx, 8
push ecx
mov ecx, dword [esp + 0xd0]
push eax
mov eax, dword [ebx + 0x14]
push edx
mov edx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.005e94b0
mov esi, dword [esp + 0x44]
add esp, 0x20
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [esi + 0x19], 0
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
jne 0x5fb1df
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x88]
test edx, edx
je 0x5fb1df
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x5fb1df
push dword [esp + 0xcc]
mov esi, dword [esi + 4]
push dword [esp + 0xcc]
push ecx
lea ecx, [esi + esi*2]
mov esi, dword [eax + 8]
mov ecx, dword [esi + ecx*8]
mov eax, dword [eax + 0x84]
push ecx
mov ecx, dword [edi + 8]
and cl, 4
neg cl
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
push ecx
push eax
call edx
add esp, 0x18
mov esi, 2
test byte [ebx + 0x1c], 0x40
je 0x5fb1f3
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
dec esi
jne 0x5fb1e4
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x30], eax
je 0x5fb2f3
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x88], 0
je 0x5fb267
mov edx, dword [edi + 0xc]
test edx, edx
je 0x5fb267
mov dl, byte [eax + 0x19]
test dl, dl
je 0x5fb24a
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
jmp 0x5fb267
lea eax, [esp + 0xe8]
push eax
push ecx
call fcn.005e88c0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov ecx, dword [esp + 0x30]
push ecx
call fcn.005f0310
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
push eax
call fcn.005e96a0
mov ecx, dword [esp + 0x34]
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx + 0x1d], 0
mov dword [ecx + 0x68], 0
jne 0x5fb2f3
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x88]
test ecx, ecx
je 0x5fb2f3
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5fb2f3
mov edx, dword [esp + 0xec]
push edx
mov edx, dword [esp + 0xec]
push edx
push eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
mov edx, dword [eax + edx*8]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [eax + 0x84]
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x5f88cd.13
inc dword [esi + 0x10c]
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
test eax, eax
je 0x5fb323
mov eax, dword [esi + 0x10c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.005f0ca0
add esp, 8
mov dword [esi + 0x10c], 0
jmp case.0x5f88cd.13
mov eax, dword [esi + 0x38]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov al, byte [esi + 0x1c]
add ebx, 0x48
test al, al
mov dword [esp + 0x14], ebx
jne 0x5fb491
mov edi, dword [esi]
test edi, edi
je 0x5fb46f
push esi
call fcn.005f0310
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov al, byte [esi + 0x1c]
test al, al
je 0x5fb37e
mov word [ebx + 0x1c], 1
jmp case.0x5f88cd.13
mov al, byte [esi + 0x21]
test al, al
je 0x5fb3c2
lea ecx, [esp + 0x160]
push ecx
push edi
call fcn.005e88c0
mov eax, dword [esp + 0x16c]
add esp, 8
test eax, eax
jg 0x5fc596
mov eax, dword [esp + 0x160]
jl 0x5fb3b9
cmp eax, 0x3b9aca00
ja 0x5fc596
mov dword [esp + 0x84], eax
jmp 0x5fb3da
lea edx, [esp + 0x84]
push edx
push edi
call fcn.005e8950
mov eax, dword [esp + 0x8c]
add esp, 8
cmp eax, 0x3b9aca00
ja 0x5fc596
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x84]
cmp eax, 0x20
ja 0x5fb3ff
mov word [ebx + 0x1c], 0x210
lea eax, [ebx + 0x24]
jmp 0x5fb41d
push eax
call fcn.005dd5a0
add esp, 4
test eax, eax
je 0x5f8b9c
mov word [ebx + 0x1c], 0x50
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x14], eax
mov al, byte [esi + 0x21]
test al, al
je 0x5fb44b
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x84]
push ecx
push edx
push 0
push edi
call fcn.005e4a60
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [ebx + 0x1f], 1
jmp case.0x5f88cd.13
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x84]
push eax
push ecx
push 0
push edi
call fcn.005e89d0
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [ebx + 0x1f], 1
jmp case.0x5f88cd.13
mov al, byte [esi + 0x1e]
test al, al
je 0x5fb491
mov edx, dword [esi + 0x34]
mov dword [ebx + 0x18], edx
mov eax, dword [esi + 0x38]
mov dword [ebx + 0x14], eax
mov word [ebx + 0x1c], 0x110
mov byte [ebx + 0x1f], 1
jmp case.0x5f88cd.13
mov word [ebx + 0x1c], 1
mov byte [ebx + 0x1f], 1
jmp case.0x5f88cd.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov esi, dword [edx + ecx*4]
push esi
call fcn.005f0310
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov al, byte [esi + 0x19]
add ebx, 0x48
test al, al
mov dword [esp + 0x14], ebx
je 0x5fb4e2
mov eax, dword [esi + 8]
mov dword [esp + 0xd0], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xd4], ecx
jmp 0x5fb525
mov al, byte [esi + 0x1e]
test al, al
je 0x5fb4ff
mov edx, dword [esi + 0x40]
mov dword [esp + 0xd0], edx
mov eax, dword [esi + 0x44]
mov dword [esp + 0xd4], eax
jmp 0x5fb525
mov al, byte [esi + 0x1c]
test al, al
jne 0x5f9891
mov esi, dword [esi]
test esi, esi
je 0x5f9891
lea ecx, [esp + 0xd0]
push ecx
push esi
call fcn.005e88c0
add esp, 8
mov edx, dword [esp + 0xd0]
mov dword [ebx], edx
mov eax, dword [esp + 0xd4]
mov dword [ebx + 4], eax
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x5fb5af
lea edx, [esp + 0x12c]
push edx
push eax
call fcn.005e4ee0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x134]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
je case.0x5f88cd.13
mov edi, dword [edi + 8]
test edi, edi
jle case.0x5f88cd.13
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov byte [esi + 0x1c], 0
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x5fb5f8
lea edx, [esp + 0xac]
push edx
push eax
call fcn.005e4ea0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
add esp, 8
test eax, eax
sete al
mov byte [esi + 0x1a], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
jmp 0x5fb603
mov dword [esp + 0xac], 1
mov cl, byte [esp + 0xac]
mov byte [esi + 0x1c], cl
mov eax, dword [esp + 0xac]
test eax, eax
je case.0x5f88cd.13
mov edi, dword [edi + 8]
test edi, edi
jle case.0x5f88cd.13
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xa8]
test eax, eax
jne 0x5fca27
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov esi, dword [edx + eax*4]
test esi, esi
je case.0x5f88cd.13
mov eax, dword [esi]
test eax, eax
je 0x5fb6c4
mov dl, byte [esi + 0x1c]
test dl, dl
je 0x5fb675
mov dword [esp + 0xb4], 1
mov byte [esi + 0x19], 0
jmp case.0x5f88cd.13
cmp cl, 0x6f
jne 0x5fb68a
lea ecx, [esp + 0xb4]
push ecx
push eax
call fcn.005e8b60
jmp 0x5fb698
lea edx, [esp + 0xb4]
push edx
push eax
call fcn.005e8cc0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xbc]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
jne 0x5fb6c8
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov byte [esi + 0x19], al
jmp case.0x5f88cd.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x50], eax
je 0x5fb72a
test byte [ebx + 0x1d], 8
je 0x5fb6fb
push ebx
call fcn.005e1540
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fb72a
mov edx, dword [edi + 8]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
push edx
push 0
push 0
cdq
push 0x702e88
push edx
push eax
mov eax, dword [esp + 0x68]
push ecx
push eax
call fcn.005e94b0
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [esi + 0x68], 0
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov edx, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov edi, dword [edx + ecx*4]
mov esi, dword [edi]
test esi, esi
je 0x5fb79c
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x104]
push eax
mov eax, dword [ebx + 0x18]
push 0
cdq
push edx
push eax
push ecx
push esi
call fcn.005e4f20
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fb795
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x5fb795
push esi
call fcn.005e96a0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [edi + 0x68], 0
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
add ebx, 0x48
mov edx, 1
mov word [ebx + 0x1c], dx
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x14], ebx
je case.0x5f88cd.13
cmp byte [eax + 0x1c], 0
je 0x5fb7ed
mov word [ebx + 0x1c], dx
jmp case.0x5f88cd.13
lea edx, [esp + 0x150]
push edx
push ecx
call fcn.005f0ac0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5fc115
mov word [ebx + 0x1c], 4
mov eax, dword [esp + 0x150]
mov dword [ebx], eax
mov ecx, dword [esp + 0x154]
mov dword [ebx + 4], ecx
jmp case.0x5f88cd.13
mov eax, dword [esi + 0x38]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x5fb8ad
test byte [ebx + 0x1d], 8
je 0x5fb845
push ebx
call fcn.005e1540
add esp, 4
mov edx, dword [edi + 0xc]
test edx, edx
mov edx, dword [esi + 0x48]
setne cl
mov byte [edx], cl
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
lea eax, [esp + 0x80]
push eax
push ecx
push edx
push esi
call fcn.005f0bd0
mov ecx, dword [esi + 0x48]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx], 0
jne case.0x5f88cd.13
mov al, byte [edi]
cmp al, 0x27
jne 0x5fb88e
mov eax, dword [esp + 0x80]
neg eax
jmp 0x5fb89a
cmp al, 0x49
mov eax, dword [esp + 0x80]
jne 0x5fb8a1
inc eax
mov dword [esp + 0x80], eax
test eax, eax
jle 0x5fb8ad
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x5c]
xor ecx, ecx
test eax, eax
je 0x5fb90f
mov edx, 0xbdf20da3
mov edi, edi
cmp dword [eax + 0x4c], edx
jne 0x5fb8f6
cmp byte [eax + 0x10a], 2
jae 0x5fb8f6
mov esi, dword [eax + 0x78]
test esi, esi
jl 0x5fb8f6
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x5fb8e0
cmp ecx, 1
jle 0x5fb90f
mov dword [esp + 0x10], 6
jmp case.0x5f88cd.13
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xdc]
push eax
mov eax, dword [edi + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 8]
push ecx
mov ecx, dword [eax + edx*8 + 4]
push ecx
call fcn.005e9be0
add ebx, 0x48
mov ecx, eax
mov word [ebx + 0x1c], 4
mov eax, dword [esp + 0xe8]
cdq
add esp, 0xc
test ecx, ecx
mov dword [ebx], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], edx
jne case.0x5f88cd.13
mov eax, dword [esp + 0xdc]
test eax, eax
je case.0x5f88cd.13
mov edx, dword [edi + 4]
mov edi, dword [edi + 8]
mov ecx, dword [esi + 8]
push edx
push eax
lea eax, [edi + edi*2]
lea edx, [ecx + eax*8]
push edx
call fcn.005ec4b0
add esp, 0xc
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 8]
lea ecx, [edi + edi*2]
mov ecx, dword [eax + ecx*8 + 4]
push ecx
call fcn.005e9920
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
lea edx, [edi + edi*2]
lea esi, [eax + edx*8]
mov edx, dword [esi + 4]
xor eax, eax
cmp cl, 0x34
setne al
lea ecx, [esp + 0x11c]
dec eax
and eax, 3
add eax, 2
push eax
push ecx
push edx
call fcn.005e8f40
add ebx, 0x48
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jne 0x5f9891
mov eax, dword [esp + 0x11c]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov ecx, dword [edi + 8]
test ecx, ecx
mov eax, dword [edi + 4]
jne 0x5fba33
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 8]
lea ecx, [eax + eax*2]
mov ecx, dword [edx + ecx*8 + 0x14]
test byte [ecx + 0x5a], 1
je case.0x5f88cd.13
cmp eax, 1
mov edx, str.sqlite_temp_master
je 0x5fba42
mov edx, str.sqlite_master
mov ecx, dword [esp + 0x18]
add esi, 0x100
mov dword [esp + 0x170], esi
mov esi, dword [edi + 0xc]
push esi
push edx
mov dword [esp + 0x174], eax
lea edx, [eax + eax*2]
mov eax, dword [ecx + 8]
mov dword [esp + 0x170], ecx
mov edx, dword [eax + edx*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push ecx
call fcn.005fdcd0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5f8b9c
mov edi, dword [esp + 0x18]
push edi
call fcn.005e0a30
push 0
lea eax, [esp + 0x170]
push eax
push fcn.005ded80
push esi
push edi
mov byte [edi + 0x50], 1
call fcn.005dd820
mov edi, eax
add esp, 0x18
cmp edi, 4
mov dword [esp + 0x10], edi
jne 0x5fbac5
mov edi, dword [esp + 0x174]
mov dword [esp + 0x10], edi
push esi
call fcn.005dd690
mov eax, dword [esp + 0x1c]
push eax
mov byte [eax + 0x50], 0
call fcn.005e09f0
add esp, 8
cmp edi, 7
je 0x5f8b9c
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x18]
push edi
push ecx
call fcn.005fe530
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.005eb680
add esp, 0xc
jmp case.0x5f88cd.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.005eb340
add esp, 0xc
jmp case.0x5f88cd.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.00607e70
add esp, 0xc
jmp case.0x5f88cd.13
mov eax, dword [esi + 0x24]
xor ecx, ecx
cmp ebx, eax
mov dword [esp + 0x24], ecx
jb 0x5fbb7e
mov eax, ebx
test byte [eax + 0x1c], 4
je 0x5fbb7e
mov edx, dword [esp + 0x24]
inc edx
add ecx, 0x48
mov eax, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x24]
sub eax, ecx
cmp eax, edx
jae 0x5fbb61
mov edx, dword [esp + 0x24]
lea eax, [edx*4 + 4]
push eax
call fcn.005dd5a0
add esp, 4
test eax, eax
mov dword [esp + 0x30], eax
je 0x5f8b9c
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x54]
lea ecx, [eax + eax*8]
lea esi, [edx + ecx*8]
mov ecx, dword [esp + 0x24]
xor eax, eax
test ecx, ecx
jle 0x5fbbd1
mov ecx, dword [esp + 0x30]
jmp 0x5fbbc0
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x24]
inc eax
sub ebx, 0x48
cmp eax, edx
jl 0x5fbbc0
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x14]
mov dword [ecx + eax*4], 0
mov eax, dword [esp + 0x24]
push edx
call fcn.005f8550
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
mov edi, dword [edi + 8]
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0xe8]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx + 8]
lea ecx, [edi + edi*2]
mov ecx, dword [eax + ecx*8 + 4]
add ebx, 0x48
push ecx
mov dword [esp + 0x2c], ebx
call fcn.005e8f70
mov edi, dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xfc]
cdq
add esp, 0x18
sub edi, eax
mov dword [esi], edi
sbb dword [esi + 4], edx
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x5fbc4a
mov word [ebx + 0x1c], 1
jmp 0x5fbc6b
mov eax, ecx
mov dword [ebx + 0x14], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5fbc52
sub eax, edx
mov dword [ebx + 0x18], eax
mov word [ebx + 0x1c], 0x62
mov dword [ebx + 0x20], 0
movzx edx, byte [esp + 0x4c]
push edx
push ebx
mov byte [ebx + 0x1f], 1
call fcn.005e10a0
mov eax, dword [esp + 0x38]
push eax
call fcn.005dd690
add esp, 0xc
jmp case.0x5f88cd.13
push ebx
call fcn.005e1860
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
push edx
add esi, 0x60
push esi
call fcn.00609db0
add esp, 0x10
cmp eax, 7
je 0x5f8b9c
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
jne 0x5fca27
lea ecx, [esp + 0x138]
push ecx
add esi, 0x60
push esi
call fcn.00609e60
add esp, 8
cmp eax, 0x65
jne 0x5fbcf3
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x138]
add ebx, 0x48
mov dword [ebx], edx
mov eax, dword [esp + 0x13c]
mov dword [ebx + 4], eax
mov dword [esp + 0x14], ebx
mov word [ebx + 0x1c], 4
jmp case.0x5f88cd.13
mov edi, dword [esi + 0x6c]
cmp edi, dword [esi + 0x70]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
jl 0x5fbd4d
mov edx, dword [esi + 0x74]
lea ecx, [edi + edi*2 + 3]
shl ecx, 3
push ecx
mov dword [esi + 0x70], eax
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.005f1fa0
add esp, 0xc
test eax, eax
mov dword [esi + 0x74], eax
je 0x5f8b9c
mov edx, dword [esi + 0x74]
lea ecx, [edi + edi*2]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x10c]
mov dword [eax + 8], edx
add esi, 0x60
add eax, 0xc
mov ecx, esi
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
push esi
mov dword [eax + 8], ecx
call fcn.00609da0
jmp 0x5fc814
mov edx, dword [esi + 0x6c]
dec edx
mov dword [esi + 0x6c], edx
mov eax, edx
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax + edx*8]
lea edi, [eax + edx*8]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x28], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x2c], edx
mov eax, dword [edi + 8]
mov dword [esi + 0x10c], eax
add esi, 0x60
push esi
call fcn.00609ec0
add esp, 4
add edi, 0xc
mov ecx, dword [edi]
mov dword [esi], ecx
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x54]
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*8]
push ebx
push eax
call fcn.005e1990
mov dword [esp + 0x18], eax
mov eax, dword [edi + 8]
sub ebx, 0x48
add esp, 8
test eax, eax
mov dword [esp + 0x14], ebx
jne case.0x5f88cd.13
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x54]
lea ecx, [edi + edi*8]
push 0x100
lea eax, [edx + ecx*8]
add ebx, 0x48
push eax
push ebx
mov dword [esp + 0x20], ebx
call fcn.005e13c0
add esp, 0xc
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x54]
lea ecx, [edi + edi*8]
lea esi, [edx + ecx*8]
push esi
call fcn.005e1860
push ebx
call fcn.005e1860
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
mov ecx, dword [ebx]
add esp, 8
cmp edx, eax
jg case.0x5f88cd.13
jl 0x5fbe6a
mov edx, dword [esi]
cmp edx, ecx
jae case.0x5f88cd.13
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x5f88cd.13
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x54]
lea eax, [eax + eax*8]
mov esi, dword [ecx + eax*8]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 4]
cdq
add esi, eax
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x54]
lea eax, [eax + eax*8]
mov ecx, dword [esi + eax*8 + 4]
test ecx, ecx
jl case.0x5f88cd.13
jg 0x5fbeb9
cmp dword [esi + eax*8], 0
jbe case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x54]
lea eax, [eax + eax*8]
mov ecx, dword [esi + eax*8 + 4]
test ecx, ecx
jg case.0x5f88cd.13
jl 0x5fbee7
cmp dword [esi + eax*8], 0
jae case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x54]
lea eax, [eax + eax*8]
mov edx, dword [esi + eax*8]
or edx, dword [esi + eax*8 + 4]
jne case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
mov edi, dword [edi + 4]
mov ecx, dword [esi + 0x54]
lea eax, [edi + edi*8]
lea edx, [ecx + eax*8]
push edx
call fcn.005e12a0
jmp 0x5fc814
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x54]
cdq
push edx
push eax
lea eax, [edi + edi*8]
lea edx, [ecx + eax*8]
push edx
call fcn.005e1310
add esp, 0xc
jmp case.0x5f88cd.13
mov eax, dword [edi + 8]
mov esi, dword [esi + 0x54]
mov edi, dword [edi + 4]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*8]
lea edx, [edi + edi*8]
push ecx
lea eax, [esi + edx*8]
push eax
call fcn.005e1990
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
mov edx, dword [edi + 8]
mov eax, dword [esi + 0x2c]
lea ecx, [edx + edx*8]
shl ecx, 3
sub ebx, ecx
add ebx, 0x48
mov ecx, ebx
xor ebx, ebx
cmp edx, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c], eax
jle 0x5fbfb6
jmp 0x5fbfa0
mov eax, dword [esp + 0x2c]
mov dword [eax + ebx*4], ecx
call fcn.005f8520
inc ebx
add ecx, 0x48
cmp ebx, edx
jl 0x5fbfa0
xor ebx, ebx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0xc]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x54]
lea eax, [eax + edx*8]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x248], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0x1f8]
mov word [esp + 0x21c], 1
mov dword [esp + 0x214], ebx
mov dword [esp + 0x220], ebx
mov dword [esp + 0x210], ecx
mov byte [esp + 0x24c], 0
mov dword [esp + 0x250], ebx
mov cl, byte [eax + 3]
test cl, cl
je 0x5fc020
mov edx, dword [edi - 8]
mov dword [esp + 0x250], edx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x50]
push ecx
lea edx, [esp + 0x1fc]
push edi
push edx
call dword [eax + 0x14]
lea eax, [esp + 0x20]
push eax
mov eax, edi
call fcn.005f8550
mov al, byte [esp + 0x25c]
add esp, 0x10
test al, al
je 0x5fc079
lea ecx, [esp + 0x200]
push 0
push ecx
call fcn.005ddbc0
add esp, 4
push eax
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0xc
mov dword [esp + 0x10], 1
lea edx, [esp + 0x200]
push edx
call fcn.005e11f0
jmp 0x5fc810
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x54]
mov edx, dword [edi + 0xc]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
push edx
push eax
mov dword [esp + 0x34], eax
call fcn.005e1150
add esp, 8
cmp eax, 1
mov dword [esp + 0x10], eax
jne 0x5fc0d0
mov eax, dword [esp + 0x2c]
push 0
push eax
call fcn.005ddbc0
add esp, 4
push eax
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0xc
mov ecx, dword [esp + 0x2c]
push ecx
jmp 0x5fc586
mov edi, dword [esp + 0x18]
push edi
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
push edi
add esi, 0x100
push esi
call fcn.0060d440
push edi
mov dword [esp + 0x1c], eax
call fcn.005e09f0
add esp, 0xc
test eax, eax
je case.0x5f88cd.13
mov dword [esp + 0x10], 0x15
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x100]
test eax, eax
lea edi, [esi + 0x100]
jne 0x5fc154
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x1e]
test al, al
je 0x5fc13b
mov dword [esp + 0x10], 7
mov edx, dword [esp + 0x10]
push 0
push edx
call fcn.005dc200
add esp, 4
push eax
push edi
call fcn.005f2110
add esp, 0xc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5fca5f
mov dword [esi + 0x7c], eax
mov edi, 1
jmp 0x5fca64
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
push eax
call fcn.005e8460
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], 0
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
test eax, eax
jne 0x5fc1bf
mov edx, dword [esp + 0x18]
push edx
call fcn.005f0cd0
jmp 0x5fc814
mov byte [esi + 0x108], 1
jmp case.0x5f88cd.13
mov eax, dword [edi + 4]
test eax, eax
setl cl
test cl, cl
mov byte [esp + 0xb8], cl
je 0x5fc1e7
mov ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
mov edx, dword [esp + 0xb8]
mov ecx, dword [edi + 8]
push edx
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.005e8050
add esp, 0xc
cmp eax, 6
mov dword [esp + 0x10], eax
jne case.0x5f88cd.13
mov eax, dword [edi + 0xc]
push 0
push eax
push str.database_table_is_locked:
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0x10
jmp case.0x5f88cd.13
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.005eac10
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x18]
add esi, 0x100
push esi
push eax
push ecx
push edx
call fcn.005ea870
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x18]
mov byte [esi + 0x10a], 2
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.005eaa30
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 0x10a], 0
jmp case.0x5f88cd.13
mov edi, dword [edi + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov esi, dword [edi]
push eax
mov dword [esp + 0x54], esi
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
lea ecx, [esp + 0x3c]
push ecx
push edi
call dword [esi + 0x18]
mov edx, dword [esp + 0x20]
mov esi, eax
push edx
mov dword [esp + 0x1c], esi
call fcn.005e09f0
add esp, 0xc
test eax, eax
jne 0x5fc10d
test esi, esi
jne case.0x5f88cd.13
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
mov dword [eax], edi
mov edi, dword [ecx + 4]
push 0xffffffffffffffff
call fcn.005f8580
add esp, 4
test eax, eax
je 0x5fc328
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x60], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov ecx, dword [edx]
mov dword [eax + 0x64], ecx
jmp case.0x5f88cd.13
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
push eax
mov byte [edx + 0x1e], 1
call dword [ecx + 0x1c]
jmp 0x5fc814
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x58], eax
mov eax, dword [edx]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx - 0x48]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c], ecx
jle 0x5fc398
lea eax, [eax + eax*8 + 9]
shl eax, 3
mov ecx, ebx
sub ecx, eax
lea esp, [esp]
mov eax, dword [esp + 0x2c]
mov dword [eax + edx*4], ecx
call fcn.005f8520
mov eax, dword [esp + 0x20]
inc edx
add ecx, 0x48
cmp edx, eax
jl 0x5fc380
mov ecx, dword [esp + 0x18]
push ecx
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push edx
mov byte [esi + 0x10a], 1
mov ecx, dword [edi + 0xc]
mov edx, dword [ebx]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [eax + 0x60]
push edx
mov edx, dword [esp + 0x8c]
push ecx
call dword [edx + 0x20]
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x10a], 0
jne 0x5fc3ff
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x60]
mov edx, dword [esp + 0x7c]
push ecx
call dword [edx + 0x28]
add esp, 4
mov esi, eax
jmp 0x5fc403
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
push eax
call fcn.005e09f0
add esp, 4
test eax, eax
jne 0x5fc10d
test esi, esi
je 0x5fc424
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
add eax, 2
push ecx
jmp 0x5fc80b
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov edi, dword [eax + edx*4]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
mov ecx, dword [eax + 0x30]
test ecx, ecx
mov dword [esp + 0x50], eax
jne 0x5fc45c
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x5fc5f9
mov esi, dword [esp + 0x18]
push esi
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x148]
push eax
push ecx
call dword [edx + 0x30]
push esi
mov dword [esp + 0x1c], eax
call fcn.005e09f0
add esp, 0xc
test eax, eax
jne 0x5fc10d
add ebx, 0x48
mov word [ebx + 0x1c], 4
mov eax, dword [esp + 0x148]
mov dword [ebx], eax
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x14], ebx
mov dword [ebx + 4], ecx
jmp case.0x5f88cd.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
mov dword [esp + 0x6c], eax
jne 0x5fc4e9
push 0
push str.Unsupported_module_operation:_xColumn
jmp 0x5fc5f9
xor eax, eax
mov ecx, 0x18
lea edi, [esp + 0x2a0]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
push eax
mov word [esp + 0x2c8], 1
mov dword [esp + 0x2bc], eax
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x60]
lea edx, [esp + 0x2a4]
push edx
mov edx, dword [esp + 0x74]
push ecx
call dword [edx + 0x2c]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x58]
push eax
lea ecx, [esp + 0x2b8]
push ecx
call fcn.005e10a0
lea edx, [esp + 0x2bc]
add ebx, 0x48
push edx
push ebx
mov dword [esp + 0x30], ebx
mov word [ebx + 0x1c], 0
call fcn.005e1990
mov eax, dword [esp + 0x34]
push eax
call fcn.005e09f0
add esp, 0x20
test eax, eax
jne 0x5fc10d
push ebx
call fcn.005e1390
add esp, 4
test eax, eax
je case.0x5f88cd.13
mov ecx, dword [ebp + 8]
push 0
add ecx, 0x100
push str.string_or_blob_too_big
push ecx
call fcn.005f2110
mov esi, dword [ebp + 8]
mov dword [esp + 0x1c], 0x12
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi + 0x7c], eax
mov edi, 1
jmp 0x5fca64
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x60]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x24]
test ecx, ecx
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], eax
jne 0x5fc615
push 0
push str.Unsupported_module_operation:_xNext
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x5f88cd.13
mov edx, dword [esp + 0x18]
push edx
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
mov byte [esi + 0x10a], 1
mov ecx, dword [eax + 0x60]
push ecx
call dword [edx + 0x24]
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x10a], 0
jne 0x5fc668
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x60]
mov edx, dword [esp + 0x58]
push ecx
call dword [edx + 0x28]
add esp, 4
mov esi, eax
jmp 0x5fc66c
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
push eax
call fcn.005e09f0
add esp, 4
test eax, eax
jne 0x5fc10d
test esi, esi
jne case.0x5f88cd.13
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x28], edi
jmp case.0x5f88cd.13
test byte [ebx + 0x1c], 0x12
mov edi, dword [edi + 0xc]
jne 0x5fc6b6
movzx ecx, byte [esp + 0x4c]
push ecx
push ebx
call fcn.005e10d0
add esp, 8
test eax, eax
jne 0x5f8b9c
mov esi, dword [esp + 0x18]
push esi
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
push edi
call fcn.005e9fa0
mov eax, dword [ebx + 0x14]
mov edx, dword [edi]
push eax
push edi
call dword [edx + 0x4c]
push edi
push esi
mov dword [esp + 0x24], eax
call fcn.005e9fb0
push esi
call fcn.005e09f0
add esp, 0x18
test eax, eax
jne 0x5fc10d
test byte [ebx + 0x1c], 0x40
je 0x5fc706
push ebx
call fcn.005e11f0
add esp, 4
sub ebx, 0x48
mov dword [esp + 0x14], ebx
jmp case.0x5f88cd.13
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], edx
jne 0x5fc750
push 0
push str.read_only_table
add esi, 0x100
push esi
call fcn.005f2110
add esp, 0xc
mov dword [esp + 0x10], 1
jmp 0x5fc802
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x2c], ecx
lea eax, [edx + edx*8]
shl eax, 3
mov ecx, ebx
sub ecx, eax
add ecx, 0x48
xor esi, esi
test edx, edx
jle 0x5fc784
lea ebx, [ebx]
call fcn.005f8520
mov eax, dword [esp + 0x2c]
mov dword [eax + esi*4], ecx
inc esi
add ecx, 0x48
cmp esi, edx
jl 0x5fc770
mov ecx, dword [esp + 0x18]
push ecx
call fcn.005e0a30
add esp, 4
test eax, eax
jne 0x5fc10d
mov esi, dword [esp + 0x50]
push esi
call fcn.005e9fa0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x15c]
push edx
mov edx, dword [esp + 0x74]
push eax
push ecx
push esi
call dword [edx + 0x34]
push esi
mov esi, dword [esp + 0x30]
push esi
mov dword [esp + 0x2c], eax
call fcn.005e9fb0
push esi
call fcn.005e09f0
add esp, 0x20
test eax, eax
jne 0x5fc10d
mov eax, dword [edi + 4]
test eax, eax
je 0x5fc802
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5fc802
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov eax, esi
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x5c]
call fcn.005f8550
mov ebx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov esi, dword [ebp + 8]
inc ecx
test eax, eax
mov dword [esp + 0x28], ecx
je 0x5f8820
mov dword [esi + 0x7c], eax
mov edi, 1
jmp 0x5fca64
mov dword [esp + 0x10], 9
mov eax, dword [esp + 0x10]
mov dword [esi + 0x7c], eax
mov edi, 1
jmp 0x5fca64
mov edx, dword [esp + 0x28]
mov dword [esi + 0x28], ebx
mov ecx, dword [edi + 4]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], edx
mov eax, dword [edi + 8]
mov dword [esi + 0x84], eax
mov edi, dword [edi + 0xc]
test edi, edi
je 0x5fc887
push 0
lea ecx, [esi + 0x100]
push edi
push ecx
call fcn.005f2110
add esp, 0xc
push esi
call fcn.005f0f20
mov edi, 5
add esp, 4
cmp eax, edi
jne 0x5fc994
mov dword [esi + 0x7c], edi
jmp 0x5fca70
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x24]
lea edx, [eax + eax*8]
shl edx, 3
mov eax, ebx
sub eax, edx
cmp ecx, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x48], ecx
jae 0x5fc8f7
test byte [ecx + 0x1d], 1
je 0x5fc8df
mov eax, dword [esp + 0x48]
push eax
call fcn.005e15f0
add esp, 4
test eax, eax
jne 0x5f8b9c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xb8]
add eax, 0x48
cmp eax, ecx
mov dword [esp + 0x48], eax
mov ecx, eax
jb 0x5fc8c4
mov edx, dword [esi + 0x5c]
add edx, 2
or edx, 1
cmp ecx, ebx
mov dword [esi + 0x5c], edx
ja 0x5fc931
jmp 0x5fc910
mov eax, dword [esp + 0x48]
push eax
call fcn.005e1690
mov ecx, dword [esp + 0x4c]
add esp, 4
call fcn.005f8520
add ecx, 0x48
cmp ecx, ebx
mov dword [esp + 0x48], ecx
jbe 0x5fc910
mov eax, dword [esi + 0x58]
mov edx, dword [esp + 0x28]
inc eax
mov byte [esi + 0x104], 1
mov dword [esi + 0x58], eax
mov ecx, dword [edi + 4]
inc edx
mov dword [esi + 0xfc], ecx
mov dword [esi + 0x78], edx
mov edi, 0x64
jmp 0x5fca6d
lea eax, [esp + 0x1a0]
push eax
call fcn.005e11f0
add esp, 4
jmp 0x5f8b9c
mov dword [esp + 0x10], 0x14
jmp 0x5fc115
mov eax, dword [edi + 8]
test eax, eax
mov edi, dword [esp + 0x18]
je 0x5fc9a6
push edi
call fcn.005dc150
add esp, 4
mov byte [edi + 0x1c], 1
mov edi, dword [esi + 0x7c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x5fca70
mov cl, byte [esp + 0x3b]
push esi
mov byte [edi + 0x1c], cl
call fcn.005f0f20
add esp, 4
cmp eax, 5
jne 0x5fc994
mov cl, byte [esp + 0x3b]
mov edx, dword [esp + 0x28]
mov al, 1
sub al, cl
mov dword [esi + 0x28], ebx
mov dword [esi + 0x78], edx
mov byte [edi + 0x1c], al
mov edi, 5
mov dword [esi + 0x7c], edi
jmp 0x5fca70
mov ecx, dword [esp + 0x28]
mov edi, 5
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edi
jmp 0x5fca6d
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x78], edx
mov edx, dword [esp + 0x1c]
mov edi, 5
xor eax, eax
mov dword [ecx + 0x7c], edi
mov esi, dword [edx + 8]
test esi, esi
setle al
inc eax
lea eax, [eax + eax*8]
lea edx, [ebx + eax*8]
mov dword [ecx + 0x28], edx
jmp 0x5fca70
mov dword [esp + 0x10], 0xd
jmp 0x5fc115
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x38]
xor eax, eax
cmp ecx, 0xf03b7906
sete al
push 0
dec eax
and eax, 0xc
add eax, 9
push eax
mov dword [esp + 0x18], eax
mov dword [esi + 0x7c], eax
call fcn.005dc200
add esp, 4
push eax
lea eax, [esi + 0x100]
push eax
jmp 0x5fc14c
mov edi, 0x65
push esi
call fcn.005f0f20
add esp, 4
mov dword [esi + 0x28], ebx
mov ecx, dword [esp + 0xfc]
push ecx
call fcn.005f48a0
mov ecx, dword [esp + 0x370]
add esp, 4
mov eax, edi
call fcn.005a6f18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret