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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
test esi, esi
push edi
mov dword [esp + 0x14], 0
jne 0x494ac1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
push edi
push ebx
call fcn.0049d710
add esp, 8
test eax, eax
je 0x494ae1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [edi + 0x2a], 0x10
je 0x494af1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [esp + 0x40], 0x63
jne 0x494b15
cmp word [edi + 0x24], 0
jl 0x494b0d
xor eax, eax
mov al, byte [edi + 0x2b]
cmp eax, 0x63
mov dword [esp + 0x40], eax
jne 0x494b15
mov dword [esp + 0x40], 2
mov eax, dword [esi + 0x28]
cmp byte [eax], 1
je 0x494b27
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x494b38
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x494b49
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x494b5a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x494b6b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x494b7c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x494b8d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [esi + 6], 1
je 0x494b9d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov esi, dword [esi]
cmp dword [esi], 1
je 0x494bae
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
cmp byte [edx], 0x71
je 0x494bc2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
add eax, 8
push eax
push 0
push ebx
call fcn.0048d1c0
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x494be3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebp, edi
jne 0x494bf1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [ebp + 0x2a], 0x10
je 0x494c01
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x494c12
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ax, word [edi + 0x26]
cmp ax, word [ebp + 0x26]
je 0x494c26
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov cx, word [edi + 0x24]
cmp cx, word [ebp + 0x24]
je 0x494c3a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test ax, ax
mov dword [esp + 0x3c], 0
jle 0x494cb2
xor esi, esi
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x38]
lea eax, [esi + edx]
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 0x15]
lea edi, [edx + esi]
mov dl, byte [eax + 0x15]
cmp cl, dl
jne 0x494ab7
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push edx
push eax
call fcn.004950a0
add esp, 8
test eax, eax
je 0x494ab7
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 4]
mov al, byte [edx + esi + 0x14]
test al, al
je 0x494c9e
mov eax, dword [ebp + 4]
mov dl, byte [esi + eax + 0x14]
test dl, dl
je 0x494ab7
mov eax, dword [esp + 0x3c]
add esi, 0x18
movsx ecx, word [ecx + 0x26]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x494c49
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 8]
test edi, edi
je 0x494d01
mov al, byte [edi + 0x2e]
test al, al
je 0x494ccc
mov dword [esp + 0x14], 1
mov esi, dword [ebp + 8]
test esi, esi
je 0x494ab7
push esi
push edi
call fcn.004950d0
add esp, 8
test eax, eax
jne 0x494cf2
mov esi, dword [esi + 0x14]
test esi, esi
je 0x494ab7
jmp 0x494cd7
test esi, esi
je 0x494ab7
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x494cbd
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x494d29
mov ecx, dword [ebp + 0x18]
push 0xffffffffffffffff
push eax
push ecx
call fcn.0048ca00
add esp, 0xc
test eax, eax
je 0x494d29
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
test ecx, 0x80000
je 0x494d4b
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x494d4b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test cl, 0x80
je 0x494d5a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x40]
push edx
push eax
call fcn.00480b60
mov edi, eax
push ebx
mov dword [esp + 0x28], edi
call fcn.004983b0
push edi
push ebx
mov esi, eax
call fcn.00490580
mov edi, dword [ebx + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
push ecx
lea ebp, [edi + 1]
push edx
push ebx
lea eax, [ebp + 1]
mov dword [ebx + 0x48], eax
call fcn.00493f90
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
push 0x31
push eax
push ecx
push ebp
push ebx
call fcn.00492d60
mov edx, dword [esp + 0x6c]
add esp, 0x34
cmp word [edx + 0x24], 0
jge 0x494dc7
mov eax, edx
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x494de7
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x494de7
mov eax, dword [esp + 0x40]
cmp eax, 2
je 0x494ddd
cmp eax, 1
jne 0x494de7
mov dword [esp + 0x20], 0
jmp 0x494e14
push 0
push ebp
push 0x65
push esi
call fcn.004870f0
push 0
push 0
push 0xe
push esi
mov dword [esp + 0x5c], eax
call fcn.004870f0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
push ecx
push esi
call fcn.00487110
add esp, 0x28
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0x30
push edx
push eax
push edi
push ebx
call fcn.00492d60
push 0
push edi
push 0x65
push esi
call fcn.004870f0
push ebx
mov dword [esp + 0x54], eax
call fcn.00487130
push ebx
mov dword [esp + 0x40], eax
call fcn.00487130
mov ecx, dword [esp + 0x64]
add esp, 0x2c
mov dword [esp + 0x10], eax
cmp word [ecx + 0x24], 0
jl 0x494eb6
mov edx, eax
push edx
push edi
push 0x60
push esi
call fcn.004870f0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
push eax
push 0
push ebp
push 0x3f
push esi
call fcn.00486750
mov ecx, dword [esp + 0x64]
push 0xfffffffffffffffe
push str.PRIMARY_KEY_must_be_unique
push ecx
push 0x613
push ebx
mov dword [esp + 0x5c], eax
call fcn.004906f0
mov edx, dword [esp + 0x5c]
push edx
push esi
call fcn.00487110
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
add esp, 0x40
push eax
push ecx
push ebx
call fcn.00494010
add esp, 0xc
jmp 0x494ee0
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
test eax, eax
jne 0x494ecb
mov eax, dword [esp + 0x10]
push eax
push ebp
push 0x41
jmp 0x494ed3
mov ecx, dword [esp + 0x10]
push ecx
push edi
push 0x60
push esi
call fcn.004870f0
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x14]
push ebx
push edi
push 0x5f
push esi
call fcn.004870f0
mov edx, dword [esp + 0x20]
push edx
push ebx
push ebp
push 0x42
push esi
call fcn.00486750
push 0xb
push esi
call fcn.00487620
mov ebx, dword [esp + 0x64]
push 0
mov eax, dword [ebx]
push eax
push 0xffffffffffffffff
push esi
call fcn.0047a4d0
mov ecx, dword [esp + 0x78]
push ecx
push edi
push 7
push esi
call fcn.004870f0
mov ebx, dword [ebx + 8]
add esp, 0x4c
test ebx, ebx
je 0x49501b
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x38], eax
je 0x494f62
mov eax, dword [esp + 0x38]
push eax
push ebx
call fcn.004950d0
add esp, 8
test eax, eax
jne 0x494f62
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x494f41
push 0
push edi
push 0x36
push esi
call fcn.004870f0
push 0
push ebp
push 0x36
push esi
call fcn.004870f0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.004909a0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
push 0xfffffffffffffff0
push eax
mov eax, dword [edx + 0x28]
push ecx
push eax
push edi
push 0x30
push esi
call fcn.00486710
mov ecx, dword [esp + 0x78]
add esp, 0x44
push ebx
push ecx
call fcn.004909a0
mov edx, dword [esp + 0x4c]
push 0xfffffffffffffff0
push eax
mov eax, dword [ebx + 0x28]
push edx
push eax
push ebp
push 0x31
push esi
call fcn.00486710
push 0
push edi
push 0x65
push esi
call fcn.004870f0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
push ecx
push edi
push 0x5c
push esi
call fcn.004870f0
mov edx, dword [esp + 0x58]
add esp, 0x44
push 1
push edx
push ebp
push 0x67
push esi
call fcn.00486750
mov eax, dword [esp + 0x50]
inc eax
push eax
push edi
push 7
push esi
call fcn.004870f0
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.00487110
mov ebx, dword [ebx + 0x14]
add esp, 0x2c
test ebx, ebx
jne 0x494f32
mov edx, dword [esp + 0x2c]
push edx
push esi
call fcn.00487110
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
push eax
push ebx
call fcn.00487160
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call fcn.00487160
push 0
push edi
push 0x36
push esi
call fcn.004870f0
push 0
push ebp
push 0x36
push esi
call fcn.004870f0
mov edi, dword [esp + 0x58]
add esp, 0x38
test edi, edi
je 0x49508c
push 0
push 0
push 0x14
push esi
call fcn.004870f0
push edi
push esi
call fcn.00487110
push 0
push ebp
push 0x36
push esi
call fcn.004870f0
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret