Function at 0x46ac20
Capabilities:
Reference sql statements

Disassembly:
mov eax, 0x122c
call fcn.005865a0
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x1228], eax
push ebx
push ebp
mov ebp, dword [esp + 0x1238]
push esi
xor esi, esi
cmp byte [ebp + 0x6b4], 3
push edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x17], 0
jne 0x46ac7f
push ebp
call fcn.00469f10
mov ebx, eax
add esp, 4
cmp ebx, esi
jne 0x46b59d
jmp 0x46b641
mov eax, dword [0x6a1088]
cmp eax, esi
jne 0x46ad11
lea eax, [esp + 0x10]
push eax
call fcn.00467410
mov ebx, eax
add esp, 4
cmp ebx, esi
jne 0x46b59d
cmp byte [ebp + 0x6b4], 1
mov ecx, dword [ebp]
mov dword [esp + 0x18], ecx
jne 0x46ad35
lea eax, [ebp + 0x197]
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x46acc2
sub ecx, esi
cmp byte [ecx + ebp + 0x197], 0x2e
lea edi, [ecx + ebp + 0x197]
je 0x46ace6
lea esp, [esp]
dec edi
cmp byte [edi], 0x2e
jne 0x46ace0
mov byte [edi], 0
movzx edx, byte [ebp + 0x10c]
push edx
lea ecx, [ebp + 0x69b]
push ecx
mov ecx, dword [ebp + 0x111]
lea esi, [ebp + 0x111]
push ecx
xor ebx, ebx
call fcn.00462740
mov byte [edi], 0x2e
jmp 0x46ad5e
mov ecx, dword [eax]
push 0x626180
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
je 0x46aca3
mov ebx, 0x4151
jmp 0x46b214
movzx edx, byte [ebp + 0x10c]
push edx
lea eax, [ebp + 0x69b]
push eax
mov eax, dword [ebp + 0x111]
lea esi, [ebp + 0x111]
push eax
lea ebx, [ebp + 0x10d]
xor eax, eax
call fcn.00462740
add esp, 0xc
cmp eax, 3
ja case.default.0x46ad6a
jmp dword [eax*4 + 0x46b65c]
mov ecx, dword [0x6a10a8]
mov edx, dword [ecx + 0x1b]
mov edi, dword [esp + 0x18]
mov dword [edi + 0x12], edx
mov eax, dword [0x6a10a8]
mov ecx, dword [eax + 0x27]
mov edx, dword [ecx + 5]
mov dword [edi + 0x16], edx
cmp byte [ebp + 0x10c], 3
jne case.default.0x46ad6a
push 4
lea eax, [ebp + 0x69b]
push eax
mov eax, dword [esi]
push eax
lea ebx, [ebp + 0x10d]
xor eax, eax
call fcn.00462740
add esp, 0xc
sub eax, 0
je 0x46ae12
sub eax, 2
jne case.default.0x46ad6a
mov edx, dword [esi]
push 4
lea ecx, [ebp + 0x259]
push ecx
mov ecx, dword [edi + 0x12]
push str._init_
push edx
mov edx, dword [esp + 0x20]
lea eax, [edi + 0x1e]
push eax
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
je case.default.0x46ad6a
lea ecx, [ebp + 0x197]
push ecx
push 0x2f4e
push 0x40e7
call fcn.00406f10
add esp, 0xc
jmp 0x46b59d
mov edx, dword [0x6a10a8]
mov eax, dword [edx + 0x27]
mov ecx, dword [eax + 5]
mov dword [edi + 0x1e], ecx
jmp case.default.0x46ad6a
cmp dword [ebp + 0x10d], 0xfffffffe
lea ebx, [ebp + 0x10d]
je case.0x46ad6a.1
cmp byte [ebp + 0x6b4], 1
je case.0x46ad6a.1
mov edx, dword [0x6a10a8]
mov eax, dword [edx + 0x1b]
mov edi, dword [esp + 0x18]
mov dword [edi + 0x12], eax
cmp byte [ebp + 0x10c], 3
jne 0x46aec3
mov ecx, dword [esi]
push 4
lea eax, [ebp + 0x69b]
push eax
push ecx
xor eax, eax
call fcn.00462740
add esp, 0xc
sub eax, 0
je 0x46aeb5
sub eax, 2
jne 0x46aec3
mov eax, dword [esi]
push 4
lea edx, [ebp + 0x259]
push edx
mov edx, dword [esp + 0x18]
push str._init_
push eax
lea ecx, [edi + 0x1e]
push ecx
mov ecx, dword [edi + 0x12]
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x46aec3
lea edx, [ebp + 0x197]
push edx
jmp 0x46adfb
mov eax, dword [0x6a10a8]
mov ecx, dword [eax + 0x27]
mov edx, dword [ecx + 5]
mov dword [edi + 0x1e], edx
mov al, byte [ebp + 0x10c]
cmp al, 3
jne 0x46af1b
mov ecx, dword [ebp + 0x7de]
mov edx, dword [esi]
push 3
push ecx
mov ecx, dword [edi + 0x12]
lea eax, [ebp + 0x197]
push eax
push edx
mov edx, dword [esp + 0x20]
lea eax, [edi + 0x16]
push eax
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
je case.default.0x46ad6a
lea eax, [ebp + 0x197]
push eax
push 0x2f4e
push 0x40e8
call fcn.00406f10
add esp, 0xc
jmp 0x46b59d
mov cl, byte [ebp + 0x65a]
cmp cl, 0x4d
je 0x46af62
cmp cl, 0x52
je 0x46af62
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x12]
push ecx
mov ecx, dword [esp + 0x18]
push edx
add eax, 0x16
lea ebx, [ebp + 0x259]
lea edi, [ebp + 0x197]
push eax
call fcn.00466c90
mov ebx, eax
add esp, 0x10
test ebx, ebx
je case.default.0x46ad6a
jmp 0x46b59d
mov edx, dword [esi]
push eax
lea eax, [ebp + 0x259]
push eax
lea ecx, [ebp + 0x197]
push ecx
mov ecx, dword [edi + 0x12]
push edx
mov edx, dword [esp + 0x20]
lea eax, [edi + 0x16]
push eax
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x46b59d
jmp case.default.0x46ad6a
cmp byte [ebp + 0x6b3], 0
je case.0x46ad6a.1
mov edx, dword [esp + 0x10]
lea edi, [ebp + 0x10d]
push edi
xor ecx, ecx
call fcn.004634c0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46b59d
push eax
push edi
call fcn.004629d0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x46b59d
lea ecx, [esp + 0x2c]
push ecx
push 1
call fcn.0047da00
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x46b59d
cmp dword [ebp + 0x10d], 0xfffffffe
lea edi, [ebp + 0x10d]
mov byte [esp + 0x17], 1
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
je 0x46b015
cmp byte [ebp + 0x6b4], 1
mov eax, 0x626360
jne 0x46b01a
mov eax, str.SELECT_methodname_FROM____sysexternalmethod___t_t_t_tWHERE_mkey__and_rkey_
lea edx, [esp + 0x34]
push edx
push 2
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x2c]
push edx
push fcn.00472210
push 0
push eax
call fcn.0050dfb0
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x46b04e
mov dword [esp + 0x20], 0
jmp 0x46b59d
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x46b094
xor ebx, ebx
cmp byte [ebp + 0x10c], 2
lea eax, [esp + 0x3c]
sete bl
push eax
lea ecx, [ebp + 0x259]
push ecx
add ebx, 0x40d9
call fcn.00461640
push eax
lea edx, [ebp + 0x197]
push edx
push 0x2f4e
push ebx
call fcn.00406f10
add esp, 0x18
jmp 0x46b5c5
movzx edx, word [eax + 2]
movzx ecx, word [eax]
cmp cx, dx
jne 0x46b0a8
xor esi, esi
mov dword [esp + 0x1c], esi
jmp 0x46b0b5
movsx ecx, cx
add ecx, eax
mov dword [esp + 0x1c], ecx
mov esi, ecx
jne 0x46b0bf
cmp dword [edi], 0xfffffffe
jne 0x46b0c8
jmp 0x46b20f
cmp dword [edi], 0xfffffffe
je 0x46b1eb
cmp byte [ebp + 0x6b4], 1
je 0x46b1eb
movzx ecx, word [eax + 4]
cmp cx, word [eax + 6]
je 0x46b20f
movsx edi, cx
add edi, eax
je 0x46b20f
cmp dx, cx
jne 0x46b0f7
xor ecx, ecx
jmp 0x46b0fc
movsx ecx, dx
add ecx, eax
lea edx, [ebp + 0x197]
mov ebx, edx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x46b104
test ebx, ebx
je 0x46b20f
lea eax, [esp + 0x24]
push eax
lea ebx, [esp + 0x2c]
call fcn.004633f0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46b59d
mov ebx, dword [esp + 0x1c]
cmp byte [ebx], al
je 0x46b14e
lea esp, [esp]
cmp byte [esi], 0x2e
jne 0x46b148
mov byte [esi], 0x2f
inc esi
cmp byte [esi], 0
jne 0x46b140
mov edx, dword [0x6d4088]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [0x6a108c]
push edx
push eax
mov eax, dword [ecx + 0x70]
call eax
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46b317
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x28]
push edx
push edi
push ebx
push eax
mov eax, dword [ecx + 0x14]
call eax
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x12], eax
test eax, eax
je 0x46b317
mov esi, dword [esp + 0x10]
call fcn.00460a90
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x12]
mov esi, dword [esp + 0x10]
mov ebx, eax
call fcn.00460a90
mov ecx, dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x20]
push 0
push eax
mov dword [ecx + 0x12], eax
lea eax, [ebp + 0x69b]
push eax
lea eax, [ebp + 0x10d]
push eax
call fcn.00462c50
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x46b396
jmp 0x46b59d
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b1f0
sub eax, edx
add eax, esi
cmp byte [eax], 0x2e
je 0x46b22e
cmp eax, esi
je 0x46b20a
dec eax
cmp byte [eax], 0x2e
jne 0x46b200
cmp byte [eax], 0x2e
je 0x46b22e
mov ebx, 0x40d8
lea edx, [ebp + 0x197]
push edx
push 0x2f4e
push ebx
call fcn.00406f10
add esp, 0xc
jmp 0x46b5be
mov byte [eax], 0
inc eax
lea edx, [ebp + 0x197]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x46b240
mov ebx, 1
mov edi, 0x625f29
mov eax, dword [edi]
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46b278
test dl, dl
je 0x46b274
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46b278
add eax, 2
add ecx, 2
test dl, dl
jne 0x46b258
xor eax, eax
jmp 0x46b27d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46b28f
add edi, 0x1d
inc ebx
cmp edi, 0x62616d
jl 0x46b254
jmp 0x46b29f
mov ecx, dword [esp + 0x18]
imul ebx, ebx, 0x1d
mov eax, dword [ebx + 0x625f00]
mov dword [ecx + 0x12], eax
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x12], 0
jne 0x46b34e
mov edx, dword [0x6d4088]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [0x6a108c]
push edx
push eax
mov eax, dword [ecx + 0x70]
call eax
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x46b31b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x29c]
push esi
push eax
call edx
mov edx, dword [0x6d40a0]
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push 1
push edi
push edx
push ebx
push eax
mov eax, dword [ecx + 0x88]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x14
mov dword [ecx + 0x12], eax
test eax, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x5c]
jne 0x46b346
call eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x238]
push ecx
mov ebx, 0x413d
call fcn.00460ab0
push eax
push esi
push 0x2f4e
push ebx
call fcn.00406f10
add esp, 0x14
jmp 0x46b5ac
call eax
mov esi, dword [esp + 0x1c]
jmp 0x46b352
mov ebx, dword [esp + 0x28]
cmp dword [ebp + 0x10d], 0xfffffffe
lea ecx, [ebp + 0x10d]
jne 0x46b396
mov eax, dword [0x6a10a8]
test eax, eax
je 0x46b36f
cmp dword [eax], 0xfffffffe
je 0x46b396
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x12]
push ebx
push 0
push eax
lea eax, [ebp + 0x69b]
push eax
push ecx
mov ebx, esi
call fcn.00462c50
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x46b59d
mov al, byte [ebp + 0x10c]
cmp al, 3
jne 0x46b46b
mov edx, dword [ebp + 0x111]
mov esi, dword [esp + 0x18]
push 4
lea ecx, [ebp + 0x259]
push ecx
mov ecx, dword [esi + 0x12]
push str._init_
push edx
mov edx, dword [esp + 0x20]
lea eax, [esi + 0x1e]
push eax
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x46b3e2
lea eax, [ebp + 0x197]
push eax
jmp 0x46adfb
cmp dword [ebp + 4], 0
je 0x46b4e9
mov eax, dword [ebp + 0x7de]
push 3
lea edi, [ebp + 0x197]
test eax, eax
je 0x46b458
cmp byte [ebp + 0x115], 0x6d
jne 0x46b449
mov ecx, dword [ebp + 0x111]
push str.___Ljava_lang_Object__Z
push edi
push ecx
lea edx, [esi + 0x16]
push edx
mov ecx, dword [esi + 0x12]
mov edx, dword [esp + 0x24]
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x46b4e9
push edi
push 0x2f4e
push 0x40e8
call fcn.00406f10
add esp, 0xc
jmp 0x46b59d
push eax
mov eax, dword [ebp + 0x111]
push edi
push eax
lea ecx, [esi + 0x16]
push ecx
jmp 0x46b418
mov edx, dword [ebp + 0x111]
push str.___B
push edi
push edx
lea eax, [esi + 0x16]
push eax
jmp 0x46b418
mov cl, byte [ebp + 0x65a]
cmp cl, 0x4d
je 0x46b4b2
cmp cl, 0x52
je 0x46b4b2
mov edx, dword [ebp + 0x111]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x12]
push ecx
mov ecx, dword [esp + 0x18]
push edx
add eax, 0x16
lea ebx, [ebp + 0x259]
push eax
lea edi, [ebp + 0x197]
call fcn.00466c90
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x46b4e9
jmp 0x46b59d
mov ecx, dword [ebp + 0x111]
push eax
lea eax, [ebp + 0x259]
push eax
lea eax, [ebp + 0x197]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x12]
lea edx, [eax + 0x16]
push edx
mov edx, dword [esp + 0x24]
call fcn.00466b70
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x46b59d
mov eax, dword [esp + 0x24]
test eax, eax
je 0x46b4fb
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea eax, [esp + 0x2c]
push eax
push 2
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1f], 0
call fcn.0047dad0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x46b59d
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0050dec0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x46b59d
mov dword [esp + 0x20], eax
cmp dword [0x6d4098], 0
jne 0x46b57b
mov dword [0x6d4098], ebp
cmp byte [ebp + 0x6b0], 0
je 0x46b571
mov eax, dword [str.public]
mov ecx, 0x49
mov esi, eax
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x6b5]
mov ecx, 0x49
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [0x6d40c4], 0
cmp byte [ebp + 0x10c], 3
je 0x46b615
mov ecx, dword [esp + 0x10]
push 0
push ebp
call fcn.00468fe0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46b615
push 0x2f4e
push 0
call fcn.00406f10
add esp, 8
mov eax, dword [esp + 0x24]
test eax, eax
je 0x46b5be
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
cmp byte [esp + 0x17], 0
je 0x46b5d4
lea edx, [esp + 0x2c]
push edx
push 2
call fcn.0047dad0
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x46b5e5
push eax
call fcn.0050dec0
add esp, 4
cmp dword [0x6d4098], ebp
jne 0x46b611
mov dword [0x6d4098], 0
cmp byte [ebp + 0x6b0], 0
je 0x46b611
mov edi, dword [str.public]
mov ecx, 0x49
lea esi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
jmp 0x46b643
cmp dword [0x6d4098], ebp
jne 0x46b641
mov dword [0x6d4098], 0
cmp byte [ebp + 0x6b0], 0
je 0x46b641
mov edi, dword [str.public]
mov ecx, 0x49
lea esi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov ecx, dword [esp + 0x1238]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x122c
ret