Function at 0x423f70
Capabilities:
Reference sql statements

Disassembly:
mov eax, 0x4e000d
call fcn.004baf44
sub esp, 0xc78
cmp dword [ebp + 8], 0x32
push ebx
push esi
push edi
mov esi, ecx
je 0x42442e
call fcn.0042e067
test eax, eax
je 0x423fae
push 0x64
mov ecx, esi
call fcn.00461595
push eax
push dword [ebp + 0xc]
call dword [sym.imp.kernel32.dll_MulDiv]
mov dword [ebp + 0xc], eax
mov ecx, dword [esi + 0x8b4]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
jle 0x423ff9
mov ecx, dword [esi + 0x8b4]
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, eax
cmp edi, ebx
je 0x423fe6
mov ecx, edi
call fcn.0048a4b0
cmp eax, dword [ebp + 8]
je 0x4240f1
mov ecx, dword [esi + 0x8b4]
inc dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 8]
cmp dword [ebp - 0x14], eax
jl 0x423fc2
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x38], bl
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2f], bl
mov dword [ebp - 0x44], ebx
call dword [eax + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0xc]
cmp eax, ebx
mov dword [ebp - 0x34], ebx
jl 0x424025
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x3c], eax
push eax
mov eax, dword [esi]
mov byte [ebp - 0x38], 1
mov byte [ebp - 0x30], 1
mov byte [ebp - 0x2f], bl
xor edi, edi
call dword [eax + 4]
push eax
lea eax, [ebp - 0xc84]
push 0x50e48c
push eax
call fcn.004bafeb
push dword [esi + 0x960]
call fcn.00404bcb
add esp, 0x14
mov ecx, eax
call fcn.00404b9c
mov edx, dword [eax]
lea ecx, [ebp - 0xc84]
push 1
push ecx
mov ecx, eax
call dword [edx + 4]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
mov dword [ebp - 4], 5
je 0x424097
lea ecx, [ebp - 0x1c]
call fcn.00496523
mov edx, dword [eax]
push ebx
mov ecx, eax
call dword [edx + 0x4c]
mov edi, eax
push dword [esi + 0x960]
call fcn.00404bcb
pop ecx
mov ecx, eax
add eax, 4
neg ecx
sbb ecx, ecx
push edi
and ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0048a2cf
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne 0x4243ba
push 0x1a3f
push 0x50d0b8
push 0x50e484
push 0x509ec4
push 0x508530
call fcn.00401466
add esp, 0x14
jmp 0x42441e
mov ecx, edi
call fcn.0048a4b4
cmp eax, 0xc
jle 0x42412b
mov ecx, edi
call fcn.0048a4b4
push 0x11
pop ecx
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 2
cmp eax, 0xa
jge 0x424117
push 0xa
pop eax
push 0x64
push eax
push dword [ebp + 0xc]
call dword [sym.imp.kernel32.dll_MulDiv]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp + 0xc], eax
mov ecx, edi
call fcn.00465e58
cdq
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov ebx, edx
cdq
add ecx, eax
mov eax, 0x7fffffff
adc ebx, edx
mov dword [ebp - 0x24], ebx
js 0x424154
jg 0x42414f
cmp ecx, eax
jbe 0x424154
mov dword [ebp - 0x14], eax
jmp 0x424157
mov dword [ebp - 0x14], ecx
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 0x18], ebx
call fcn.0048a4b4
cmp eax, 1
jl 0x42442e
cmp eax, 0x14
jge 0x42442e
mov edx, dword [ebp - 0x14]
lea ecx, [eax*4 + 0x4eb4e0]
mov dword [ebp - 0x20], ecx
cmp edx, dword [ecx]
jle 0x4241d4
mov ecx, edi
lea ebx, [eax + 1]
call fcn.0048a517
cdq
sub eax, edx
sar eax, 1
cmp ebx, eax
jl 0x4241ca
mov ecx, edi
call fcn.0048a517
cmp ebx, eax
jge 0x4241ca
and dword [ebp - 0x14], 0
mov ecx, edi
call fcn.0048a517
mov ecx, edi
mov ebx, eax
call fcn.0048a4b4
sub ebx, eax
push 1
push 0
mov ecx, edi
mov dword [ebp - 0x18], ebx
call fcn.0048a54b
jmp 0x4241d4
and dword [ebp - 0x14], 0
push 1
pop ebx
mov dword [ebp - 0x18], ebx
and byte [ebp - 0xd], 0
test ebx, ebx
jg 0x42424e
mov ecx, edi
call fcn.0048a4b4
cmp eax, 0xc
jge 0x424252
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
jne 0x424217
push 0x1a06
push 0x50d0b8
push 0x50e460
push 0x50bc44
push 0x508530
call fcn.00401466
add esp, 0x14
jmp 0x42442e
push eax
push 0x64
mov ecx, edi
call fcn.00465e58
mov ebx, dword [sym.imp.kernel32.dll_MulDiv]
push eax
call ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
push dword [eax]
push 0x64
push dword [ebp - 0x14]
call ebx
push 0xa
cdq
pop ecx
idiv ecx
push 0xa
pop ebx
mov ecx, eax
mov eax, dword [ebp - 0x24]
cdq
idiv ebx
cmp eax, ecx
je 0x424252
mov byte [ebp - 0xd], 1
movzx eax, byte [ebp - 0xd]
push eax
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0048a4e8
xor ebx, ebx
cmp dword [ebp - 0x18], ebx
jle 0x424348
push 1
mov ecx, edi
call fcn.0048a4b4
add eax, dword [ebp - 0x18]
mov ecx, edi
push eax
call fcn.0048a4b9
lea ecx, [ebp - 0x464]
call fcn.0048a6d0
mov ecx, edi
mov dword [ebp - 4], ebx
call fcn.00465e58
push eax
mov ecx, edi
call fcn.0048a4b4
push eax
mov ecx, edi
call fcn.0048a4b0
push eax
lea ecx, [ebp - 0x464]
call fcn.0048a75a
test eax, eax
je 0x4242c8
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
lea edx, [ebp - 0x464]
push edx
call dword [eax + 0x148]
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x2c]
push eax
push 0x50e44c
mov byte [ebp - 4], 1
call fcn.00403ed8
mov ebx, dword [esi + 8]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 2
call fcn.004b3a98
mov ecx, eax
call fcn.004b3d15
push eax
lea eax, [esi + 8]
push eax
call dword [ebx + 0x14c]
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0x2c]
call fcn.00407799
and byte [ebp - 4], 0
mov ecx, edi
call fcn.0048a4b4
push eax
mov ecx, esi
push dword [ebp + 8]
call fcn.0042b339
mov ecx, eax
call fcn.0047cc49
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x464]
call fcn.0048a72b
jmp 0x42442e
lea ecx, [ebp - 0x464]
call fcn.0048a5b8
push dword [ebp - 0x14]
mov ecx, edi
mov dword [ebp - 4], 4
call fcn.0048a4b0
push eax
push ebx
lea ecx, [ebp - 0x464]
call fcn.0048a642
test eax, eax
je 0x424388
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
lea edx, [ebp - 0x464]
push edx
call dword [eax + 0x148]
cmp dword [ebp + 0xc], ebx
je 0x4243a9
push dword [ebp + 0xc]
mov ecx, edi
call fcn.0048a4b4
push eax
mov ecx, esi
push dword [ebp + 8]
call fcn.0042b339
mov ecx, eax
call fcn.0047cde4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x464]
call fcn.0048a613
jmp 0x42442e
mov ecx, dword [esi + 0x8b4]
push edi
mov eax, dword [ecx]
call dword [eax + 0x10]
lea ecx, [ebp - 0x884]
call fcn.0048a6d0
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00465e58
push eax
mov ecx, edi
call fcn.0048a4b4
push eax
mov ecx, edi
call fcn.0048a4b0
push eax
lea ecx, [ebp - 0x884]
call fcn.0048a75a
test eax, eax
je 0x42440f
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
lea edx, [ebp - 0x884]
push edx
call dword [eax + 0x148]
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 5
call fcn.0048a72b
mov ecx, dword [ebp - 0x1c]
or dword [ebp - 4], 0xffffffff
cmp ecx, ebx
je 0x42442e
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8