Function at 0x4c91a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
mov eax, edx
mov dword [esp + 0x20], ecx
xor ebx, ebx
mov dword [esp + 0x24], eax
push esi
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [eax], ebx
call fcn.004c5c10
test eax, eax
jne 0x4c9aaf
mov edi, dword [ebp + 8]
cmp byte [0x6b8a34], bl
jne 0x4c91e0
mov dword [esp + 0x14], ebx
jmp 0x4c920b
test edi, 0x8000
je 0x4c91ee
mov dword [esp + 0x14], ebx
jmp 0x4c920b
test edi, 0x10000
je 0x4c9200
mov dword [esp + 0x14], 1
jmp 0x4c920b
movzx eax, byte [0x6b8a35]
mov dword [esp + 0x14], eax
test edi, 0x40000
je 0x4c921b
and edi, 0xfffdffff
jmp 0x4c9229
cmp dword [0x6b8af8], ebx
je 0x4c9229
or edi, 0x20000
and edi, 0xfff600e7
push 0
push 0x218
mov dword [esp + 0x2c], edi
mov dword [ebp + 8], edi
call fcn.00411300
mov esi, eax
add esp, 8
test esi, esi
je 0x4c9a00
push 0x218
push 0
push esi
call fcn.00623f60
add esp, 0xc
mov eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x14], ebx
je 0x4c92fa
cmp byte [0x6b8a34], bl
jne 0x4c927c
mov dword [esi + 0xc], ebx
jmp 0x4c928e
push 1
call dword [0x6b8a78]
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4c92fa
cmp dword [0x6b8a30], ebx
je 0x4c92e6
mov eax, dword [0x6c64a0]
test eax, eax
je 0x4c92a9
push eax
call dword [0x6b8a80]
add esp, 4
push esi
call dword [0x6b8a5c]
sub dword [0x6c6330], eax
add esp, 4
dec dword [0x6c6354]
push esi
call dword [0x6b8a54]
mov eax, dword [0x6c64a0]
add esp, 4
test eax, eax
je 0x4c92f0
push eax
call dword [0x6b8a88]
add esp, 4
xor edi, edi
lea esi, [edi + 7]
jmp 0x4c9a0d
push esi
call dword [0x6b8a54]
add esp, 4
xor edi, edi
lea esi, [edi + 7]
jmp 0x4c9a0d
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c930b
push eax
call dword [0x6b8a80]
add esp, 4
mov eax, edi
mov dword [esi + 0x14], 2
and eax, 0x2000000
mov byte [esi + 0x61], 0x6d
neg eax
mov dword [esi + 0x130], 1
push 0
sbb eax, eax
mov edx, str.BINARY
and eax, 0xffffff00
add eax, 0xff
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1cc]
mov dword [esi + 0x10], eax
xor eax, eax
mov word [esi + 0x134], ax
movups xmm0, xmmword [0x693e04]
push fcn.004c6a60
push 0
movups xmmword [esi + 0x78], xmm0
push 1
movups xmm0, xmmword [0x693e14]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [0x693e24]
mov byte [esi + 0x55], 1
mov byte [esi + 0x5a], 0xff
movups xmmword [esi + 0x98], xmm0
mov dword [esi + 0xa4], eax
mov eax, dword [0x6b8ad8]
mov ecx, dword [0x6b8adc]
or dword [esi + 0x20], 0xe00480e0
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x34], ecx
mov ecx, esi
mov dword [esi + 0x64], ebx
mov dword [esi + 0xb8], 0x6b9ab8
mov dword [esi + 0x24], eax
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x18c], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x190], ebx
call fcn.004c89a0
push 0
push fcn.004c6a60
push 0
push 3
mov edx, str.BINARY
mov ecx, esi
call fcn.004c89a0
push 0
push fcn.004c6a60
push 0
push 2
mov edx, str.BINARY
mov ecx, esi
call fcn.004c89a0
push 0
push 0x4c6b30
push 0
push 1
mov edx, str.NOCASE
mov ecx, esi
call fcn.004c89a0
add esp, 0x40
mov edx, str.RTRIM
mov ecx, esi
push 0
push 0x4c6ae0
push 0
push 1
call fcn.004c89a0
add esp, 0x10
mov edi, esi
cmp byte [esi + 0x57], bl
jne 0x4c997c
mov ecx, dword [esp + 0x24]
mov eax, 1
mov dword [esi + 0x3c], ecx
and ecx, 7
shl eax, cl
test al, 0x46
jne 0x4c9498
push 0x692b64
push 0x2c62a
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00414390
add esp, 0x14
mov ecx, 0x15
jmp 0x4c94d6
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [ebp + 8]
push esi
push eax
call fcn.004c8bc0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
je 0x4c955d
cmp eax, 7
jne 0x4c94ce
mov ecx, esi
call fcn.00411d30
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
xor edx, edx
test edi, edi
mov eax, 0x68abcc
push edi
cmove eax, edx
push eax
push ecx
push esi
call fcn.004151c0
add esp, 0x10
test edi, edi
je 0x4c9556
cmp dword [0x6b8a30], 0
je 0x4c954c
mov eax, dword [0x6c64a0]
test eax, eax
je 0x4c9512
push eax
call dword [0x6b8a80]
add esp, 4
push edi
call dword [0x6b8a5c]
sub dword [0x6c6330], eax
add esp, 4
dec dword [0x6c6354]
push edi
call dword [0x6b8a54]
mov eax, dword [0x6c64a0]
add esp, 4
test eax, eax
je 0x4c9556
push eax
call dword [0x6b8a88]
add esp, 4
mov edi, esi
jmp 0x4c997c
push edi
call dword [0x6b8a54]
add esp, 4
mov edi, esi
jmp 0x4c997c
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x18]
or eax, 0x100
mov ecx, dword [esi]
mov edx, ebx
push eax
mov eax, dword [esi + 0x10]
push 0
add eax, 4
mov dword [esp + 0x2c], ebx
push eax
push esi
call fcn.0042c800
add esp, 0x10
test eax, eax
je 0x4c95a7
cmp eax, 0xc0a
jne 0x4c9594
mov eax, 7
mov ecx, eax
mov edx, eax
mov dword [esi + 0x40], ecx
mov ecx, esi
call fcn.004150c0
jmp 0x4c997c
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
cmp byte [ecx + 9], 0
je 0x4c95c1
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x4c95c1
call fcn.0042a6b0
mov edx, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [edx + 4]
call fcn.004720a0
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0xc], eax
cmp byte [esi + 0x57], 0
jne 0x4c95ea
mov eax, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [eax + 0xc]
mov dl, byte [edx + 0x4d]
call fcn.00471900
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
cmp byte [ecx + 9], 0
je 0x4c9601
add dword [ecx + 0xc], 0xffffffff
jne 0x4c9601
call fcn.0042a690
xor edx, edx
mov ecx, esi
call fcn.004720a0
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [eax], str.main
mov eax, dword [esi + 0x10]
mov byte [eax + 8], 3
mov eax, dword [esi + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [esi + 0x10]
mov byte [eax + 0x18], 1
cmp byte [esi + 0x57], 0
mov byte [esi + 0x61], 0x76
jne 0x4c997c
cmp dword [esi + 0x124], 0
mov dword [esi + 0x40], 0
je 0x4c965a
xor edx, edx
mov ecx, esi
call fcn.004150c0
jmp 0x4c9661
mov dword [esi + 0x44], 0xffffffff
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c9672
push eax
call dword [0x6b8a80]
add esp, 4
push 0
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.00471ce0
mov ecx, dword [esi + 0xc]
add esp, 0xc
mov edi, eax
test ecx, ecx
je 0x4c969a
push ecx
call dword [0x6b8a88]
add esp, 4
test edi, edi
jne 0x4c96e2
push str.MATCH
push 0x68abcc
call fcn.00414110
add esp, 8
test eax, eax
je 0x4c96db
push fcn.00411510
push edi
push edi
push edi
push edi
push 0x4c7c40
push eax
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.004c79f0
add esp, 0x24
cmp eax, 7
jne 0x4c96e2
mov ecx, esi
call fcn.00411d30
mov al, byte [esi + 0x61]
cmp al, 0xba
je 0x4c9731
cmp al, 0x76
je 0x4c9731
cmp al, 0x6d
je 0x4c9731
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00414390
add esp, 0xc
push 0x692b64
push 0x2c351
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00414390
add esp, 0x14
mov dword [esp + 0x10], esi
mov edx, 0x15
jmp 0x4c9922
cmp byte [esi + 0x57], 0
mov ecx, esi
mov dword [esp + 0x10], ecx
jne 0x4c991d
mov edx, dword [esi + 0x48]
mov edi, esi
and edx, dword [esi + 0x40]
jne 0x4c9924
mov eax, 0x692c80
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
nop dword [eax]
mov edx, ecx
mov ecx, edi
cmp eax, str.rank
jge 0x4c978b
mov eax, dword [eax]
push esi
call eax
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, esi
add eax, 4
mov dword [esp + 0x1c], eax
test edx, edx
je 0x4c9760
jmp 0x4c9924
cmp dword [0x6c6288], 0
mov eax, edx
mov dword [esp + 0x10], eax
je 0x4c98bc
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebx, [ecx + 1]
nop dword [eax + eax]
cmp byte [0x6b8a34], 0
jne 0x4c97bd
xor edi, edi
jmp 0x4c97dc
push 2
call dword [0x6b8a78]
mov edi, eax
add esp, 4
test edi, edi
je 0x4c97d8
push edi
call dword [0x6b8a80]
add esp, 4
mov ecx, dword [esp + 0x14]
cmp ecx, dword [0x6c6288]
jb 0x4c97f0
mov dword [esp + 0x1c], 0
xor ebx, ebx
jmp 0x4c97fc
mov eax, dword [0x6c628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x4c980a
push edi
call dword [0x6b8a88]
add esp, 4
mov eax, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x18], edi
test eax, eax
je 0x4c9845
push 0x694530
lea ecx, [esp + 0x1c]
push ecx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x4c9841
push dword [esp + 0x18]
push str.automatic_extension_loading_failed:__s
push eax
push esi
call fcn.004151c0
add esp, 0x10
xor ebx, ebx
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4c98a1
cmp dword [0x6b8a30], 0
je 0x4c9897
mov eax, dword [0x6c64a0]
test eax, eax
je 0x4c9865
push eax
call dword [0x6b8a80]
add esp, 4
push edi
call dword [0x6b8a5c]
sub dword [0x6c6330], eax
add esp, 4
dec dword [0x6c6354]
push edi
call dword [0x6b8a54]
mov eax, dword [0x6c64a0]
add esp, 4
test eax, eax
je 0x4c98a1
push eax
call dword [0x6b8a88]
jmp 0x4c989e
push edi
call dword [0x6b8a54]
add esp, 4
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x4c97b0
mov ebx, dword [esp + 0x24]
mov edi, esi
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, edi
mov al, byte [esi + 0x61]
cmp al, 0xba
je 0x4c9903
cmp al, 0x76
je 0x4c9903
cmp al, 0x6d
je 0x4c9903
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00414390
add esp, 0xc
push 0x692b64
push 0x2c351
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00414390
add esp, 0x14
jmp 0x4c997c
cmp byte [esi + 0x57], 0
mov edi, edx
mov dword [esp + 0x10], ecx
jne 0x4c997c
mov eax, dword [esi + 0x48]
and eax, dword [esi + 0x40]
jne 0x4c997c
mov dword [esp + 0x10], ecx
jmp 0x4c992e
mov edx, 7
mov edi, esi
mov ecx, esi
mov dword [esi + 0x40], edx
call fcn.004150c0
push dword [0x6b8a48]
xor edx, edx
mov ecx, esi
push dword [0x6b8a44]
call fcn.004c6470
mov eax, dword [esi + 0xc]
add esp, 8
test eax, eax
je 0x4c9957
push eax
call dword [0x6b8a80]
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esi + 0x110], 0x4c8000
mov dword [esi + 0x114], 0x3e8
test eax, eax
je 0x4c997c
push eax
call dword [0x6b8a88]
add esp, 4
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c998d
push eax
call dword [0x6b8a88]
add esp, 4
mov al, byte [esi + 0x61]
cmp al, 0xba
je 0x4c99d9
cmp al, 0x76
je 0x4c99d9
cmp al, 0x6d
je 0x4c99d9
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00414390
add esp, 0xc
push 0x692b64
push 0x2c351
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00414390
add esp, 0x14
mov byte [edi + 0x61], 0xba
mov esi, 0x15
jmp 0x4c9a18
cmp byte [esi + 0x57], 0
jne 0x4c9a02
mov ecx, dword [esi + 0x40]
and ecx, dword [esi + 0x48]
mov edi, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0x24], ecx
cmp cl, 7
je 0x4c9a09
mov esi, edx
test edx, edx
je 0x4c9a18
mov byte [edi + 0x61], 0xba
jmp 0x4c9a18
mov edi, esi
mov esi, 7
jmp 0x4c9a0d
mov esi, dword [esp + 0x24]
xor edx, edx
mov ecx, edi
call fcn.004c6cc0
xor edi, edi
mov eax, dword [esp + 0x2c]
mov dword [eax], edi
test ebx, ebx
je 0x4c9aad
cmp byte [ebx - 1], 0
lea eax, [ebx - 1]
jne 0x4c9a43
cmp byte [ebx - 2], 0
jne 0x4c9a43
cmp byte [ebx - 3], 0
jne 0x4c9a43
add ebx, 0xfffffffc
cmp byte [ebx], 0
je 0x4c9a47
mov ebx, eax
jmp 0x4c9a26
test ebx, ebx
je 0x4c9aad
cmp dword [0x6b8a30], 0
je 0x4c9aa3
mov eax, dword [0x6c64a0]
test eax, eax
je 0x4c9a67
push eax
call dword [0x6b8a80]
add esp, 4
push ebx
call dword [0x6b8a5c]
sub dword [0x6c6330], eax
add esp, 4
dec dword [0x6c6354]
push ebx
call dword [0x6b8a54]
mov eax, dword [0x6c64a0]
add esp, 4
test eax, eax
je 0x4c9aad
push eax
call dword [0x6b8a88]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call dword [0x6b8a54]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret