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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x616cd6
mov eax, dword fs:[0]
push eax
sub esp, 0x328
mov eax, dword [0x6b9a04]
xor eax, esp
mov dword [esp + 0x320], eax
push ebx
push esi
push edi
mov eax, dword [0x6b9a04]
xor eax, esp
push eax
lea eax, [esp + 0x338]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edi
cmp edi, ebx
je 0x591c0a
push ebx
push ebx
mov esi, edi
call fcn.00588838
mov ecx, dword [esp + 0x14]
call fcn.0058d5a5
test eax, eax
jne 0x591c2e
cmp edi, ebx
je 0x591c27
push ebx
push ebx
push 7
pop ebx
mov esi, edi
call fcn.00588838
xor eax, eax
jmp 0x59283a
cmp edi, ebx
je 0x591c40
push ebx
push ebx
xor ebx, ebx
inc ebx
mov esi, edi
call fcn.00588838
xor ebx, ebx
mov esi, dword [esp + 0x14]
lea eax, [esi + 0x70]
push eax
lea eax, [esp + 0x2a8]
push eax
call fcn.00581ad8
push 0xc
pop eax
mov dword [esp + 0x340], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], ebx
call fcn.0053b75c
lea eax, [esp + 0x8c]
push eax
call fcn.00412717
lea eax, [esp + 0x8c]
push eax
push esi
mov byte [esp + 0x348], 1
call fcn.005918a3
cmp edi, ebx
je 0x591ca1
push ebx
push ebx
push 8
pop ebx
mov esi, edi
call fcn.00588838
xor ebx, ebx
mov esi, 0x641890
push esi
lea ecx, [esp + 0x190]
call fcn.0040518c
lea eax, [esp + 0x234]
push eax
mov byte [esp + 0x344], 2
call fcn.0058ce2e
lea ecx, [esp + 0x2a4]
push ecx
lea edx, [esp + 0x190]
mov ecx, eax
mov byte [esp + 0x344], 3
call fcn.00582080
push ebx
push 1
lea ecx, [esp + 0x23c]
mov dword [esp + 0x54], eax
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x194]
mov byte [esp + 0x348], 1
call fcn.004055c2
push esi
lea ecx, [esp + 0x174]
call fcn.0040518c
lea eax, [esp + 0x1e0]
push eax
mov byte [esp + 0x344], 4
call fcn.0058cdf6
lea ecx, [esp + 0x2a4]
push ecx
lea edx, [esp + 0x174]
mov ecx, eax
mov byte [esp + 0x344], 5
call fcn.00582080
push ebx
push 1
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x58], eax
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x178]
mov byte [esp + 0x348], 1
call fcn.004055c2
mov eax, dword [esp + 0x14]
call fcn.0058efa8
cmp dword [esp + 0xa8], 0xa
jbe 0x591e2d
push 0xb
pop eax
call fcn.0053b75c
lea eax, [esp + 0x26c]
push eax
call fcn.0058ce2e
mov byte [esp + 0x340], 6
cmp dword [eax + 0x18], 0x10
jb 0x591db9
mov eax, dword [eax + 4]
jmp 0x591dbc
add eax, 4
push eax
push str.CREATE_INDEX__idxTempCrossRef_ON__s___idMsg_
mov ecx, 0x400
lea edx, [esp + 0x300]
call fcn.0054aa9f
pop ecx
pop ecx
push ebx
push 1
lea ecx, [esp + 0x274]
mov byte [esp + 0x348], 8
call fcn.004055c2
lea eax, [esp + 0x2f8]
push eax
lea ebx, [esp + 0x2a8]
call fcn.00581b3f
push 1
push 0xb
pop edi
call fcn.0053b76b
pop ecx
push 0
push 1
lea ecx, [esp + 0x300]
mov dword [esp + 0x18], eax
mov byte [esp + 0x348], 1
call fcn.004055c2
mov edi, dword [esp + 0x20]
xor ebx, ebx
cmp edi, ebx
je 0x591e3f
push ebx
push ebx
push 9
pop ebx
mov esi, edi
call fcn.00588838
xor ebx, ebx
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x8c]
lea edi, [esp + 0x44]
lea esi, [esp + 0x30]
mov dword [esp + 0x44], eax
call fcn.00584150
test al, al
jne 0x592177
push 0xb
pop eax
call fcn.0053b75c
call fcn.005469a8
push eax
lea ecx, [esp + 0x254]
call fcn.004051ae
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x344], 9
call fcn.0058cdf6
mov esi, eax
lea eax, [esp + 0xe4]
push eax
mov byte [esp + 0x344], 0xa
call fcn.0058cdf6
mov edi, eax
lea eax, [esp + 0x100]
push eax
mov byte [esp + 0x344], 0xb
call fcn.0058ce2e
mov dword [esp + 0x38], eax
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x344], 0xc
call fcn.0058cdf6
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xc8]
push eax
mov byte [esp + 0x344], 0xd
call fcn.0058ce2e
mov dword [esp + 0x18], eax
lea eax, [esp + 0x26c]
push eax
mov byte [esp + 0x344], 0xe
call fcn.0058ce2e
push 0x10
mov byte [esp + 0x344], 0xf
mov ecx, dword [esp + 0x258]
pop edx
cmp dword [esp + 0x268], edx
jae 0x591f4c
lea ecx, [esp + 0x254]
mov dword [esp + 0x28], ecx
cmp dword [esi + 0x18], edx
jb 0x591f5e
mov ecx, dword [esi + 4]
mov dword [esp + 0x24], ecx
jmp 0x591f65
add esi, 4
mov dword [esp + 0x24], esi
cmp dword [edi + 0x18], edx
jb 0x591f73
mov ecx, dword [edi + 4]
mov dword [esp + 0x1c], ecx
jmp 0x591f7a
add edi, 4
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], edx
jb 0x591f88
mov edi, dword [ecx + 4]
jmp 0x591f8b
lea edi, [ecx + 4]
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x18], edx
jb 0x591f99
mov esi, dword [ecx + 4]
jmp 0x591f9c
lea esi, [ecx + 4]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x18], edx
jb 0x591faa
mov ecx, dword [ecx + 4]
jmp 0x591fad
add ecx, 4
cmp dword [eax + 0x18], edx
jb 0x591fb7
mov eax, dword [eax + 4]
jmp 0x591fba
add eax, 4
push dword [esp + 0x28]
lea edx, [esp + 0x28c]
push dword [esp + 0x28]
push dword [esp + 0x24]
push edi
push esi
push ecx
push eax
mov esi, 0x400
push str.DELETE_FROM__s_WHERE__idMsg_IN__SELECT__idMsg_FROM__s_INNER_JOIN__s_ON__s._idMsg_s._uid_WHERE__s._msgId_s_
mov ecx, esi
call fcn.0054aa9f
add esp, 0x20
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [esp + 0x274]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0xd0]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0xb4]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x108]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0xec]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x140]
mov byte [esp + 0x348], 0x16
call fcn.004055c2
lea eax, [esp + 0x288]
push eax
lea ebx, [esp + 0x2a8]
call fcn.00581b3f
push edi
push 0xb
pop edi
mov ebx, eax
call fcn.0053b76b
add dword [esp + 0x14], eax
xor edi, edi
pop ecx
cmp ebx, edi
je 0x592083
push edi
push 1
lea ecx, [esp + 0x290]
call fcn.004055c2
push edi
jmp 0x592151
push 0xb
pop eax
call fcn.0053b75c
lea eax, [esp + 0x154]
push eax
call fcn.0058cdf6
mov byte [esp + 0x340], 0x17
cmp dword [esp + 0x268], 0x10
mov ecx, dword [esp + 0x254]
jae 0x5920b8
lea ecx, [esp + 0x254]
cmp dword [eax + 0x18], 0x10
jb 0x5920c3
mov eax, dword [eax + 4]
jmp 0x5920c6
add eax, 4
push ecx
push eax
push str.DELETE_FROM__s_WHERE__msgId_s
mov ecx, esi
lea edx, [esp + 0x128]
call fcn.0054aa9f
add esp, 0xc
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0x294]
mov byte [esp + 0x34c], 0x18
call fcn.0040529a
push edi
push 1
lea ecx, [esp + 0x124]
call fcn.004055c2
push edi
push 1
lea ecx, [esp + 0x15c]
mov byte [esp + 0x348], 0x16
call fcn.004055c2
lea eax, [esp + 0x288]
push eax
lea ebx, [esp + 0x2a8]
call fcn.00581b3f
push 1
push 0xb
pop edi
call fcn.0053b76b
add dword [esp + 0x40], eax
pop ecx
push 0
push 1
lea ecx, [esp + 0x290]
call fcn.004055c2
push 0
push 1
lea ecx, [esp + 0x258]
mov byte [esp + 0x348], 1
call fcn.004055c2
lea esi, [esp + 0x30]
call fcn.00414582
xor ebx, ebx
jmp 0x591e57
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x592189
push ebx
push ebx
push 0xa
pop ebx
call fcn.00588838
push 0xb
pop eax
call fcn.0053b75c
push str.DROP_INDEX__idxTempCrossRef
lea ecx, [esp + 0x318]
call fcn.0040518c
lea eax, [esp + 0x314]
push eax
lea ebx, [esp + 0x2a8]
mov byte [esp + 0x344], 0x19
call fcn.00581b3f
push 1
push 0xb
pop edi
call fcn.0053b76b
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
pop ecx
call fcn.0058efb7
mov esi, dword [esp + 0x20]
xor ebx, ebx
cmp esi, ebx
je 0x5921eb
push ebx
push ebx
mov ebx, edi
call fcn.00588838
xor ebx, ebx
mov esi, 0x641890
push esi
lea ecx, [esp + 0xe8]
call fcn.0040518c
lea eax, [esp + 0x154]
push eax
mov byte [esp + 0x344], 0x1a
call fcn.0058ce2e
lea ecx, [esp + 0x2a4]
push ecx
lea edx, [esp + 0xe8]
mov ecx, eax
mov byte [esp + 0x344], 0x1b
call fcn.00582080
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [esp + 0x15c]
mov dword [esp + 0x38], eax
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0xec]
mov byte [esp + 0x348], 0x19
call fcn.004055c2
push esi
lea ecx, [esp + 0x104]
call fcn.0040518c
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x344], 0x1c
call fcn.0058cdf6
lea ecx, [esp + 0x2a4]
push ecx
lea edx, [esp + 0x104]
mov ecx, eax
mov byte [esp + 0x344], 0x1d
call fcn.00582080
push ebx
push edi
lea ecx, [esp + 0x124]
mov dword [esp + 0x4c], eax
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x108]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x31c]
call fcn.004055c2
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x344], bl
call fcn.00412745
push esi
lea ecx, [esp + 0xb0]
call fcn.0040518c
lea eax, [esp + 0x138]
push eax
mov byte [esp + 0x344], 0x1e
call fcn.0058ce12
lea ecx, [esp + 0x2a4]
push ecx
lea edx, [esp + 0xb0]
mov ecx, eax
mov byte [esp + 0x344], 0x1f
call fcn.00582080
push ebx
push edi
lea ecx, [esp + 0x140]
mov dword [esp + 0x30], eax
call fcn.004055c2
mov byte [esp + 0x340], bl
push ebx
push edi
lea ecx, [esp + 0xb4]
call fcn.004055c2
lea eax, [esp + 0x54]
push eax
call fcn.0058ce12
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1fc]
push eax
mov byte [esp + 0x344], 0x20
call fcn.0058ce2e
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x344], 0x21
call fcn.0058ce2e
mov dword [esp + 0x38], eax
lea eax, [esp + 0x1a8]
push eax
mov byte [esp + 0x344], 0x22
call fcn.0058ce12
mov dword [esp + 0x14], eax
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x344], 0x23
call fcn.0058ce12
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x340], 0x24
cmp dword [ecx + 0x18], 0x10
jb 0x5923c9
mov ecx, dword [ecx + 4]
jmp 0x5923cc
add ecx, 4
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x18], 0x10
jb 0x5923db
mov edx, dword [edx + 4]
jmp 0x5923de
add edx, 4
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
cmp dword [edx + 0x18], 0x10
jb 0x5923f1
mov edx, dword [edx + 4]
jmp 0x5923f4
add edx, 4
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x18], 0x10
jb 0x592407
mov edx, dword [edx + 4]
jmp 0x59240a
add edx, 4
cmp dword [eax + 0x18], 0x10
jb 0x592415
mov eax, dword [eax + 4]
jmp 0x592418
add eax, 4
push ecx
push dword [esp + 0x20]
mov ecx, 0x400
push dword [esp + 0x2c]
push edx
push eax
push str.DELETE_FROM__s_WHERE__nIdx_NOT_IN__SELECT__nIdx_FROM__s_INNER_JOIN__s_ON__s._idToken_s._nIdx_
lea edx, [esp + 0x284]
call fcn.0054aa9f
add esp, 0x18
push ebx
push edi
lea ecx, [esp + 0x220]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x1b0]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x1cc]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x204]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], 0x2a
call fcn.004055c2
push 0xb
pop eax
call fcn.0053b75c
lea eax, [esp + 0x26c]
push eax
lea ebx, [esp + 0x2a8]
call fcn.00581b3f
push 1
push 0xb
pop edi
call fcn.0053b76b
pop ecx
push esi
lea ecx, [esp + 0xcc]
mov dword [esp + 0x30], eax
call fcn.0040518c
lea eax, [esp + 0x70]
push eax
mov byte [esp + 0x344], 0x2b
call fcn.0058ce12
mov ecx, ebx
push ecx
lea edx, [esp + 0xcc]
mov ecx, eax
mov byte [esp + 0x344], 0x2c
call fcn.00582080
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], eax
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0xd0]
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x274]
mov byte [esp + 0x348], bl
call fcn.004055c2
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x592535
push ebx
push ebx
push 0xc
pop ebx
call fcn.00588838
xor ebx, ebx
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
mov edi, 0x641b00
cmp eax, 0xffffffff
je 0x5925e1
cmp dword [esi + 0x14], ebx
je 0x592562
push edi
call fcn.005c3140
pop ecx
push eax
push edi
call fcn.00403f16
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x44]
mov ecx, 0x400
push eax
push str.Messages_removed:__d_n
lea edx, [esp + 0x5c]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x2d
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], bl
call fcn.004055c2
push dword [esp + 0x3c]
mov ecx, 0x400
push str.Time:__d_ms_n
lea edx, [esp + 0x5c]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x2e
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], bl
call fcn.004055c2
mov eax, dword [esp + 0x4c]
cmp eax, 0xffffffff
je 0x592684
cmp dword [esi + 0x14], ebx
je 0x592605
push edi
call fcn.005c3140
pop ecx
push eax
push edi
call fcn.00403f16
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x30]
mov ecx, 0x400
push eax
push str.Message_Keyword_pairs_removed:__d_n
lea edx, [esp + 0x5c]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x2f
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], bl
call fcn.004055c2
push dword [esp + 0x10]
mov ecx, 0x400
push str.Time:__d_ms_n
lea edx, [esp + 0x5c]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x30
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], bl
call fcn.004055c2
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x592726
cmp dword [esi + 0x14], ebx
je 0x5926a8
push edi
call fcn.005c3140
pop ecx
push eax
push edi
call fcn.00403f16
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x18]
mov edi, 0x400
push eax
push str.Keywords_removed:__d_n
mov ecx, edi
lea edx, [esp + 0x5c]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x31
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], bl
call fcn.004055c2
push dword [esp + 0x2c]
mov ecx, edi
push str.Time:__d_ms_n
lea edx, [esp + 0x78]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x32
call fcn.00403e6f
push ebx
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x348], bl
call fcn.004055c2
push 0xb
pop eax
call fcn.0053b75c
lea ebx, [esp + 0x2a4]
call fcn.00581fc4
mov ebx, eax
neg ebx
push 1
sbb ebx, ebx
push 0xb
inc ebx
pop edi
mov dword [esp + 0x48], ebx
call fcn.0053b76b
mov esi, dword [esp + 0x44]
cmp dword [esi + 0x14], 0
pop ecx
mov dword [esp + 0x30], eax
je 0x592771
mov edi, 0x641b00
push edi
call fcn.005c3140
pop ecx
push eax
push edi
call fcn.00403f16
push dword [esp + 0x30]
mov ecx, 0x400
push str.Time_compact:__d_ms_n
lea edx, [esp + 0x78]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x33
call fcn.00403e6f
push 0
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x348], 0
call fcn.004055c2
push 1
push 0xc
pop edi
call fcn.0053b76b
xor edi, edi
pop ecx
mov dword [esp + 0x30], eax
cmp dword [esi + 0x14], edi
je 0x5927de
mov edi, 0x641b00
push edi
call fcn.005c3140
pop ecx
push eax
push edi
call fcn.00403f16
xor edi, edi
push dword [esp + 0x30]
mov ecx, 0x400
push str.Total_Time:__d_ms_n
lea edx, [esp + 0x78]
call fcn.0054aa9f
pop ecx
pop ecx
push 0xffffffffffffffff
push edi
push eax
mov ecx, esi
mov byte [esp + 0x34c], 0x34
call fcn.00403e6f
push edi
push 1
lea ecx, [esp + 0x78]
call fcn.004055c2
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x59282c
push edi
push edi
push 7
pop ebx
call fcn.00588838
mov ebx, dword [esp + 0x44]
lea edi, [esp + 0x2a4]
call fcn.00581b18
mov eax, ebx
mov ecx, dword [esp + 0x338]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, esp
call fcn.005c30b2
mov esp, ebp
pop ebp
ret 8