Function at 0x590590
Capabilities:
Reference sql statements

Disassembly:
mov ecx, dword [0x93ee7c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x590a37
sub esp, 0x6c
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x5905b6
xor edx, edx
jmp 0x5905c9
movzx ebx, byte [eax]
test bl, bl
je 0x5905c4
mov edx, 0xffffffff
jmp 0x5905c9
mov edx, 1
test edx, edx
jne 0x590627
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + 8]
test ebp, ebp
jne 0x5905dc
xor edx, edx
jmp 0x5905f1
movzx ebp, byte [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5905ec
mov edx, 0xffffffff
jmp 0x5905f1
mov edx, 1
test edx, edx
je 0x5905f9
test ecx, ecx
jmp 0x59062d
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov eax, dword [esp]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x6c
ret
test ecx, ecx
mov ebx, dword [esp + 0x7c]
jne 0x590633
xor edx, edx
jmp 0x590646
movzx edx, byte [eax]
test dl, dl
je 0x590641
mov edx, 0xffffffff
jmp 0x590646
mov edx, 1
test edx, edx
jl 0x59066c
mov edx, dword [ebx + 8]
test edx, edx
jne 0x590655
xor edx, edx
jmp 0x590668
movzx edx, byte [ebx]
test dl, dl
je 0x590663
mov edx, 0xffffffff
jmp 0x590668
mov edx, 1
test edx, edx
jge 0x5906b0
lea eax, [0x6e6720]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x720d93]
mov dword [eax], ecx
mov dword [esp + 0x80], 0
lea ecx, [0x78aa3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x6c
ret
mov edx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004db0a0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x14]
cmp dword [esp + 0xc], ecx
jg 0x5907d9
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004db0a0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x14]
cmp dword [esp + 0xc], ecx
jg 0x5907d9
lea eax, [0x6db200]
mov dword [esp], eax
lea eax, [ecx + 7]
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ecx + 7]
sar eax, 3
mov dword [esp + 0x2c], eax
shl eax, 1
mov dword [esp + 0x34], eax
lea edx, [eax + 1]
mov dword [esp + 0x30], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0046c5c0
mov edx, dword [esp + 0x30]
test edx, edx
jbe 0x590a2d
mov ebx, dword [esp + 0xc]
mov byte [ebx], 4
mov ecx, dword [esp + 0x2c]
lea ebp, [ecx + 1]
cmp ebp, edx
ja 0x590a26
cmp ebp, 1
jb 0x590a1a
mov dword [esp + 0x68], ebx
mov dword [esp + 0x54], ebp
mov esi, dword [esp + 0x34]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ebx
test ecx, ecx
je 0x5907b5
mov dword [esp + 0x64], esi
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.00471ff0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x34]
mov eax, ebx
mov ebx, dword [esp + 0x78]
mov edx, dword [ebx + 4]
mov dword [esp + 0x5c], edx
mov ebx, dword [ebx + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
jmp 0x590834
lea eax, [0x6e6720]
mov dword [esp], eax
call fcn.0040bb90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x16
lea ecx, [0x7227e1]
mov dword [eax], ecx
mov dword [esp + 0x80], 0
lea ecx, [0x78aa3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x6c
ret
lea eax, [ebp + 1]
mov ebp, dword [esp + 0x2c]
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x50]
cmp ebp, ebx
jge 0x590852
mov eax, dword [edx + ebp*4]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
jmp 0x5909cd
test ecx, ecx
jge 0x590858
xor ecx, ecx
mov ebx, dword [esp + 0x2c]
jmp 0x59085f
inc ecx
cmp ecx, ebx
jge 0x590873
jae 0x5909ac
movzx ebp, byte [ecx + esi]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x59085e
sub edi, ebx
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
mov ebx, dword [esp + 0x54]
and edi, ebx
lea ebx, [edi + eax]
test ecx, ecx
je 0x5908ad
mov dword [esp + 0x34], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00471ff0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x7c]
mov esi, dword [ebp + 4]
mov dword [esp + 0x58], esi
mov ebp, dword [ebp + 8]
mov dword [esp + 0x1c], ebp
mov edx, ecx
xor edi, edi
jmp 0x5908ce
inc edi
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
cmp edi, ebp
jge 0x5908e8
mov eax, dword [esi + edi*4]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
jmp 0x590969
test ecx, ecx
jge 0x5908f1
xor ecx, ecx
jmp 0x5908f1
inc ecx
cmp ecx, edx
jge 0x590901
jae 0x59094c
movzx ebp, byte [ecx + ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5908f0
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ebx
add esp, 0x6c
ret
mov eax, ecx
mov ecx, edx
call fcn.004718b0
lea ecx, [esi + 1]
shr eax, 8
mov esi, dword [esp + 0x58]
mov dword [esp + 0x24], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
cmp esi, 4
jge 0x5908c5
lea ebp, [ecx - 1]
test ebp, ebp
jl 0x590987
cmp edx, ebp
jbe 0x5909a3
mov byte [ecx + ebx - 1], al
jmp 0x590955
test al, al
je 0x590955
lea eax, [0x6db180]
mov dword [esp], eax
lea eax, [0x78a5b8]
mov dword [esp + 4], eax
call fcn.0046a9e0
mov eax, ebp
mov ecx, edx
call fcn.004718b0
mov eax, ecx
mov ecx, ebx
call fcn.004718b0
lea ecx, [edi + 1]
shr eax, 8
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], ecx
mov ecx, edx
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x28]
cmp edi, 4
jge 0x59081d
lea edx, [ecx - 1]
test edx, edx
jl 0x5909ef
mov ebx, dword [esp + 0x2c]
cmp ebx, edx
jbe 0x590a11
mov byte [ecx + esi - 1], al
jmp 0x5909b5
test al, al
jne 0x5909f9
mov ebx, dword [esp + 0x2c]
jmp 0x5909b5
lea eax, [0x6db180]
mov dword [esp], eax
lea eax, [0x78a5b8]
mov dword [esp + 4], eax
call fcn.0046a9e0
mov eax, edx
mov ecx, ebx
call fcn.004718b0
mov eax, 1
xor ecx, ecx
call fcn.00471910
mov ecx, ebp
call fcn.004718f0
xor eax, eax
mov ecx, eax
call fcn.004718b0
nop
call fcn.00470430
jmp fcn.00590590