Function at 0x479910
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 0x479931
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.00481b90
add esp, 8
test eax, eax
je 0x479951
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [edi + 0x2a], 0x10
je 0x479961
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [esp + 0x40], 0x63
jne 0x479985
cmp word [edi + 0x24], 0
jl 0x47997d
xor eax, eax
mov al, byte [edi + 0x2b]
cmp eax, 0x63
mov dword [esp + 0x40], eax
jne 0x479985
mov dword [esp + 0x40], 2
mov eax, dword [esi + 0x28]
cmp word [eax], 1
je 0x479998
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x4799a9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x4799ba
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x4799cb
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x4799dc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x4799ed
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x4799fe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [esi + 6], 1
je 0x479a0e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov esi, dword [esi]
cmp dword [esi], 1
je 0x479a1f
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 0x479a33
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.00472220
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x479a54
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebp, edi
jne 0x479a62
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [ebp + 0x2a], 0x10
je 0x479a72
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x479a83
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 0x479a97
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 0x479aab
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test ax, ax
mov dword [esp + 0x3c], 0
jle 0x479b23
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 0x479927
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push edx
push eax
call fcn.00479f00
add esp, 8
test eax, eax
je 0x479927
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 4]
mov al, byte [edx + esi + 0x14]
test al, al
je 0x479b0f
mov eax, dword [ebp + 4]
mov dl, byte [esi + eax + 0x14]
test dl, dl
je 0x479927
mov eax, dword [esp + 0x3c]
add esi, 0x18
movsx ecx, word [ecx + 0x26]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x479aba
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 8]
test edi, edi
je 0x479b72
mov al, byte [edi + 0x2c]
test al, al
je 0x479b3d
mov dword [esp + 0x14], 1
mov esi, dword [ebp + 8]
test esi, esi
je 0x479927
push esi
push edi
call fcn.00479f30
add esp, 8
test eax, eax
jne 0x479b63
mov esi, dword [esi + 0x14]
test esi, esi
je 0x479927
jmp 0x479b48
test esi, esi
je 0x479927
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x479b2e
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x479b98
mov ecx, dword [ebp + 0x18]
push eax
push ecx
call fcn.00471a90
add esp, 8
test eax, eax
je 0x479b98
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, 0x40000
je 0x479bba
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x479bba
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test cl, 0x10
je 0x479bc9
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.00465f50
mov edi, eax
push ebx
mov dword [esp + 0x28], edi
call fcn.0047caf0
push edi
push ebx
mov esi, eax
call fcn.004754e0
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.00478ea0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
push 0x28
push eax
push ecx
push ebp
push ebx
call fcn.00477c70
mov edx, dword [esp + 0x6c]
add esp, 0x34
cmp word [edx + 0x24], 0
jge 0x479c36
mov eax, edx
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x479c56
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x479c56
mov eax, dword [esp + 0x40]
cmp eax, 2
je 0x479c4c
cmp eax, 1
jne 0x479c56
mov dword [esp + 0x20], 0
jmp 0x479c83
push 0
push ebp
push 0x48
push esi
call fcn.0046c410
push 0
push 0
push 1
push esi
mov dword [esp + 0x5c], eax
call fcn.0046c410
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
push ecx
push esi
call fcn.0046c430
add esp, 0x28
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0x27
push edx
push eax
push edi
push ebx
call fcn.00477c70
push 0
push edi
push 0x48
push esi
call fcn.0046c410
push ebx
mov dword [esp + 0x54], eax
call fcn.0046c450
push ebx
mov dword [esp + 0x40], eax
call fcn.0046c450
mov ecx, dword [esp + 0x64]
add esp, 0x2c
mov dword [esp + 0x10], eax
cmp word [ecx + 0x24], 0
jl 0x479d1d
mov edx, eax
push edx
push edi
push 0x41
push esi
call fcn.0046c410
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
push eax
push 0
push ebp
push 0x36
push esi
call fcn.0046ba70
mov ecx, dword [esp + 0x64]
push 0xfffffffffffffffe
push str.PRIMARY_KEY_must_be_unique
push ecx
push ebx
mov dword [esp + 0x58], eax
call fcn.00475650
mov edx, dword [esp + 0x58]
push edx
push esi
call fcn.0046c430
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
push eax
push ecx
push ebx
call fcn.00478f20
add esp, 0x48
jmp 0x479d47
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
test eax, eax
jne 0x479d32
mov eax, dword [esp + 0x10]
push eax
push ebp
push 0x38
jmp 0x479d3a
mov ecx, dword [esp + 0x10]
push ecx
push edi
push 0x41
push esi
call fcn.0046c410
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x14]
push ebx
push edi
push 0x40
push esi
call fcn.0046c410
mov edx, dword [esp + 0x20]
push edx
push ebx
push ebp
push 0x39
push esi
call fcn.0046ba70
push 0xb
push esi
call fcn.0046c940
mov ebx, dword [esp + 0x64]
push 0
mov eax, dword [ebx]
push eax
push 0xffffffffffffffff
push esi
call fcn.0045fcf0
mov ecx, dword [esp + 0x78]
push ecx
push edi
push 0x5f
push esi
call fcn.0046c410
mov ebx, dword [ebx + 8]
add esp, 0x4c
test ebx, ebx
je 0x479e82
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x38], eax
je 0x479dc9
mov eax, dword [esp + 0x38]
push eax
push ebx
call fcn.00479f30
add esp, 8
test eax, eax
jne 0x479dc9
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x479da8
push 0
push edi
push 0x2d
push esi
call fcn.0046c410
push 0
push ebp
push 0x2d
push esi
call fcn.0046c410
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.004758f0
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 0x27
push esi
call fcn.0046ba30
mov ecx, dword [esp + 0x78]
add esp, 0x44
push ebx
push ecx
call fcn.004758f0
mov edx, dword [esp + 0x4c]
push 0xfffffffffffffff0
push eax
mov eax, dword [ebx + 0x28]
push edx
push eax
push ebp
push 0x28
push esi
call fcn.0046ba30
push 0
push edi
push 0x48
push esi
call fcn.0046c410
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
push ecx
push edi
push 0x3f
push esi
call fcn.0046c410
mov edx, dword [esp + 0x58]
add esp, 0x44
push 1
push edx
push ebp
push 0x61
push esi
call fcn.0046ba70
mov eax, dword [esp + 0x50]
inc eax
push eax
push edi
push 0x5f
push esi
call fcn.0046c410
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.0046c430
mov ebx, dword [ebx + 0x14]
add esp, 0x2c
test ebx, ebx
jne 0x479d99
mov edx, dword [esp + 0x2c]
push edx
push esi
call fcn.0046c430
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
push eax
push ebx
call fcn.0046c480
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call fcn.0046c480
push 0
push edi
push 0x2d
push esi
call fcn.0046c410
push 0
push ebp
push 0x2d
push esi
call fcn.0046c410
mov edi, dword [esp + 0x58]
add esp, 0x38
test edi, edi
je 0x479ef3
push 0
push 0
push 6
push esi
call fcn.0046c410
push edi
push esi
call fcn.0046c430
push 0
push ebp
push 0x2d
push esi
call fcn.0046c410
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