Function at 0x47a230
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 0x47a251
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.004824b0
add esp, 8
test eax, eax
je 0x47a271
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [edi + 0x2a], 0x10
je 0x47a281
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [esp + 0x40], 0x63
jne 0x47a2a5
cmp word [edi + 0x24], 0
jl 0x47a29d
xor eax, eax
mov al, byte [edi + 0x2b]
cmp eax, 0x63
mov dword [esp + 0x40], eax
jne 0x47a2a5
mov dword [esp + 0x40], 2
mov eax, dword [esi + 0x28]
cmp word [eax], 1
je 0x47a2b8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x47a2c9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x47a2da
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x47a2eb
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x47a2fc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x47a30d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x47a31e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [esi + 6], 1
je 0x47a32e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov esi, dword [esi]
cmp dword [esi], 1
je 0x47a33f
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 0x47a353
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.00472b40
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x47a374
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebp, edi
jne 0x47a382
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [ebp + 0x2a], 0x10
je 0x47a392
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x47a3a3
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 0x47a3b7
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 0x47a3cb
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test ax, ax
mov dword [esp + 0x3c], 0
jle 0x47a443
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 0x47a247
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push edx
push eax
call fcn.0047a820
add esp, 8
test eax, eax
je 0x47a247
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 4]
mov al, byte [edx + esi + 0x14]
test al, al
je 0x47a42f
mov eax, dword [ebp + 4]
mov dl, byte [esi + eax + 0x14]
test dl, dl
je 0x47a247
mov eax, dword [esp + 0x3c]
add esi, 0x18
movsx ecx, word [ecx + 0x26]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x47a3da
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 8]
test edi, edi
je 0x47a492
mov al, byte [edi + 0x2c]
test al, al
je 0x47a45d
mov dword [esp + 0x14], 1
mov esi, dword [ebp + 8]
test esi, esi
je 0x47a247
push esi
push edi
call fcn.0047a850
add esp, 8
test eax, eax
jne 0x47a483
mov esi, dword [esi + 0x14]
test esi, esi
je 0x47a247
jmp 0x47a468
test esi, esi
je 0x47a247
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x47a44e
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x47a4b8
mov ecx, dword [ebp + 0x18]
push eax
push ecx
call fcn.004723b0
add esp, 8
test eax, eax
je 0x47a4b8
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 0x47a4da
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x47a4da
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test cl, 0x10
je 0x47a4e9
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.00466870
mov edi, eax
push ebx
mov dword [esp + 0x28], edi
call fcn.0047d410
push edi
push ebx
mov esi, eax
call fcn.00475e00
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.004797c0
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.00478590
mov edx, dword [esp + 0x6c]
add esp, 0x34
cmp word [edx + 0x24], 0
jge 0x47a556
mov eax, edx
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x47a576
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x47a576
mov eax, dword [esp + 0x40]
cmp eax, 2
je 0x47a56c
cmp eax, 1
jne 0x47a576
mov dword [esp + 0x20], 0
jmp 0x47a5a3
push 0
push ebp
push 0x48
push esi
call fcn.0046cd30
push 0
push 0
push 1
push esi
mov dword [esp + 0x5c], eax
call fcn.0046cd30
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
push ecx
push esi
call fcn.0046cd50
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.00478590
push 0
push edi
push 0x48
push esi
call fcn.0046cd30
push ebx
mov dword [esp + 0x54], eax
call fcn.0046cd70
push ebx
mov dword [esp + 0x40], eax
call fcn.0046cd70
mov ecx, dword [esp + 0x64]
add esp, 0x2c
mov dword [esp + 0x10], eax
cmp word [ecx + 0x24], 0
jl 0x47a63d
mov edx, eax
push edx
push edi
push 0x41
push esi
call fcn.0046cd30
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
push eax
push 0
push ebp
push 0x36
push esi
call fcn.0046c390
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.00475f70
mov edx, dword [esp + 0x58]
push edx
push esi
call fcn.0046cd50
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
push eax
push ecx
push ebx
call fcn.00479840
add esp, 0x48
jmp 0x47a667
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
test eax, eax
jne 0x47a652
mov eax, dword [esp + 0x10]
push eax
push ebp
push 0x38
jmp 0x47a65a
mov ecx, dword [esp + 0x10]
push ecx
push edi
push 0x41
push esi
call fcn.0046cd30
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x14]
push ebx
push edi
push 0x40
push esi
call fcn.0046cd30
mov edx, dword [esp + 0x20]
push edx
push ebx
push ebp
push 0x39
push esi
call fcn.0046c390
push 0xb
push esi
call fcn.0046d260
mov ebx, dword [esp + 0x64]
push 0
mov eax, dword [ebx]
push eax
push 0xffffffffffffffff
push esi
call fcn.00460610
mov ecx, dword [esp + 0x78]
push ecx
push edi
push 0x5f
push esi
call fcn.0046cd30
mov ebx, dword [ebx + 8]
add esp, 0x4c
test ebx, ebx
je 0x47a7a2
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x38], eax
je 0x47a6e9
mov eax, dword [esp + 0x38]
push eax
push ebx
call fcn.0047a850
add esp, 8
test eax, eax
jne 0x47a6e9
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x47a6c8
push 0
push edi
push 0x2d
push esi
call fcn.0046cd30
push 0
push ebp
push 0x2d
push esi
call fcn.0046cd30
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.00476210
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.0046c350
mov ecx, dword [esp + 0x78]
add esp, 0x44
push ebx
push ecx
call fcn.00476210
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.0046c350
push 0
push edi
push 0x48
push esi
call fcn.0046cd30
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
push ecx
push edi
push 0x3f
push esi
call fcn.0046cd30
mov edx, dword [esp + 0x58]
add esp, 0x44
push 1
push edx
push ebp
push 0x61
push esi
call fcn.0046c390
mov eax, dword [esp + 0x50]
inc eax
push eax
push edi
push 0x5f
push esi
call fcn.0046cd30
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.0046cd50
mov ebx, dword [ebx + 0x14]
add esp, 0x2c
test ebx, ebx
jne 0x47a6b9
mov edx, dword [esp + 0x2c]
push edx
push esi
call fcn.0046cd50
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
push eax
push ebx
call fcn.0046cda0
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call fcn.0046cda0
push 0
push edi
push 0x2d
push esi
call fcn.0046cd30
push 0
push ebp
push 0x2d
push esi
call fcn.0046cd30
mov edi, dword [esp + 0x58]
add esp, 0x38
test edi, edi
je 0x47a813
push 0
push 0
push 6
push esi
call fcn.0046cd30
push edi
push esi
call fcn.0046cd50
push 0
push ebp
push 0x2d
push esi
call fcn.0046cd30
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