Function at 0x46ced0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2c
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
mov ebp, dword [esp + 0x38]
push esi
mov esi, eax
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x24], 0
test esi, esi
je 0x46d418
push edi
mov eax, ebp
call fcn.00435790
add esp, 4
test eax, eax
jne 0x46d418
test byte [edi + 0x22], 0x10
jne 0x46d418
cmp ebx, 0x63
jne 0x46cf21
mov dword [esp + 0x48], 2
jmp 0x46cf2f
cmp ebx, 2
je 0x46cf2f
cmp ebx, 1
jne 0x46d418
mov eax, dword [esi + 8]
cmp word [eax], 1
jne 0x46d418
cmp dword [eax + 0x18], 0
jne 0x46d418
cmp dword [esi + 0xc], 0
jne 0x46d418
cmp dword [esi + 0x18], 0
jne 0x46d418
cmp dword [esi + 0x10], 0
jne 0x46d418
cmp dword [esi + 0x28], 0
jne 0x46d418
cmp dword [esi + 0x1c], 0
jne 0x46d418
test byte [esi + 6], 1
jne 0x46d418
mov esi, dword [esi]
cmp dword [esi], 1
jne 0x46d418
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
cmp byte [edx], 0x71
jne 0x46d418
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
push ecx
push 0
mov eax, ebp
call fcn.0046c370
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x46d418
cmp eax, edi
je 0x46d418
test byte [eax + 0x22], 0x10
jne 0x46d418
cmp dword [eax + 0x1c], 0
jne 0x46d418
mov ebp, dword [edi + 8]
cmp ebp, dword [eax + 8]
jne 0x46d418
mov edx, dword [edi + 4]
cmp edx, dword [eax + 4]
jne 0x46d418
xor ebx, ebx
test ebp, ebp
jle 0x46d04c
mov ecx, dword [esp + 0x18]
mov eax, edi
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0xc]
add esi, 0x10
add edi, 0x10
jmp 0x46d010
mov dl, byte [esi + 6]
cmp dl, byte [edi + 6]
jne 0x46d418
mov edx, dword [edi]
mov ecx, dword [esi]
call fcn.00434f90
test eax, eax
je 0x46d418
cmp byte [esi + 4], 0
je 0x46d03d
cmp byte [edi + 4], 0
je 0x46d418
inc ebx
add esi, 0x18
add edi, 0x18
cmp ebx, ebp
jl 0x46d010
mov edi, dword [esp + 0x44]
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x46d09f
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
lea ebx, [ebx]
cmp byte [ebx + 0x18], 0
je 0x46d06e
mov dword [esp + 0x24], 1
mov edi, esi
test edi, edi
je 0x46d418
call fcn.00434fb0
test eax, eax
jne 0x46d090
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x46d078
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
test edi, edi
je 0x46d418
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x46d060
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x46d0c3
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x2c]
push eax
push edx
call fcn.0043b710
add esp, 8
test eax, eax
jne 0x46d418
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
test eax, 0x4000000
je 0x46d0dd
cmp dword [esi + 0x24], 0
jne 0x46d418
test eax, 0x1000
jne 0x46d418
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 0x44]
call fcn.00435200
mov edi, dword [esp + 0x40]
mov esi, eax
mov dword [esp + 0x28], esi
call fcn.004435d0
mov ebp, eax
mov eax, edi
call fcn.0045f6c0
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x44]
lea esi, [eax + 1]
mov dword [esp + 0x14], eax
lea eax, [esi + 1]
push ecx
mov edx, edi
mov dword [esp + 0x14], esi
mov dword [edi + 0x44], eax
call fcn.0043c390
push 0x28
push esi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x58]
push edi
mov esi, ebx
call fcn.00448ae0
add esp, 0x10
cmp dword [esi + 4], 0
jge 0x46d154
mov edx, ebx
cmp dword [edx + 0x10], 0
jne 0x46d15b
cmp dword [esp + 0x24], 0
je 0x46d18b
mov ecx, dword [esp + 0x10]
xor eax, eax
push ebp
lea edx, [eax + 0x48]
call fcn.0043a030
mov esi, eax
xor eax, eax
push ebp
xor ecx, ecx
lea edx, [eax + 1]
call fcn.0043a030
mov dword [esp + 0x2c], eax
add esp, 8
mov eax, esi
mov ecx, ebp
call fcn.00432b40
jmp 0x46d193
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push 0x27
push edi
push ebx
call fcn.00448ae0
xor eax, eax
push ebp
mov ecx, edi
lea edx, [eax + 0x48]
call fcn.0043a030
mov dword [esp + 0x48], eax
add esp, 0x10
mov eax, ebx
call fcn.00434240
mov dword [esp + 0x1c], eax
mov eax, ebx
call fcn.00434240
mov esi, dword [esp + 0x44]
cmp dword [esi + 4], 0
mov edi, eax
mov dword [esp + 0x34], edi
push ebp
jl 0x46d23a
mov ecx, dword [esp + 0x18]
mov edx, 0x41
call fcn.0043a030
push edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
push 0
push eax
push 0x36
mov eax, ebp
call fcn.00439f90
mov esi, dword [esp + 0x5c]
push 0xfffffffffffffffe
push str.PRIMARY_KEY_must_be_unique
mov dword [esp + 0x48], eax
call fcn.00447f90
mov eax, dword [esp + 0x48]
mov ecx, ebp
call fcn.00432b40
mov ecx, dword [esp + 0x4c]
push edi
mov eax, ebx
call fcn.0043c400
mov esi, dword [esp + 0x64]
add esp, 0x20
jmp 0x46d260
cmp dword [esi + 0x10], 0
jne 0x46d24b
mov ecx, dword [esp + 0x14]
mov edx, 0x38
jmp 0x46d254
mov ecx, dword [esp + 0x18]
mov edx, 0x41
call fcn.0043a030
mov dword [esp + 0x24], eax
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push ebp
mov edx, 0x40
call fcn.0043a030
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push edi
push ecx
push edx
push 0x39
mov eax, ebp
call fcn.00439f90
mov dl, 0xb
mov eax, ebp
call fcn.00432b20
mov eax, dword [esi]
push eax
push ebp
xor ecx, ecx
or eax, 0xffffffff
call fcn.0043a2f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
push ebp
mov edx, 0x5f
call fcn.0043a030
mov esi, dword [esi + 0x10]
add esp, 0x20
test esi, esi
je 0x46d3a9
nop
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x46d2e2
jmp 0x46d2d0
mov ebx, esi
call fcn.00434fb0
test eax, eax
jne 0x46d2e2
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x46d2d0
mov ebx, dword [esp + 0x14]
xor eax, eax
push ebp
mov ecx, ebx
lea edx, [eax + 0x2d]
call fcn.0043a030
mov ecx, dword [esp + 0x14]
xor eax, eax
push ebp
lea edx, [eax + 0x2d]
call fcn.0043a030
mov edx, dword [esp + 0x48]
push edi
push edx
call fcn.0044e2c0
mov ecx, dword [edi + 0x14]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x40]
push 0x27
mov edx, ebx
mov edi, ebp
call fcn.004400c0
mov eax, dword [esp + 0x5c]
push esi
push eax
call fcn.0044e2c0
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x34]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x78]
push 0x28
call fcn.004400c0
xor eax, eax
push ebp
mov ecx, ebx
lea edx, [eax + 0x48]
call fcn.0043a030
mov edi, eax
mov eax, dword [esp + 0x50]
push ebp
mov ecx, ebx
mov edx, 0x3f
call fcn.0043a030
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
push 1
push ecx
push edx
push 0x61
mov eax, ebp
call fcn.00439f90
add esp, 0x48
lea eax, [edi + 1]
push ebp
mov ecx, ebx
mov edx, 0x5f
call fcn.0043a030
add esp, 4
mov eax, edi
mov ecx, ebp
call fcn.00432b40
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x46d2c0
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, ebp
call fcn.00432b40
mov esi, edi
mov edx, ebx
call fcn.00434260
mov esi, dword [esp + 0x1c]
call fcn.00434260
mov ecx, dword [esp + 0x14]
xor eax, eax
push ebp
lea edx, [eax + 0x2d]
call fcn.0043a030
mov ecx, dword [esp + 0x14]
xor eax, eax
push ebp
lea edx, [eax + 0x2d]
call fcn.0043a030
add esp, 8
cmp dword [esp + 0x24], 0
je 0x46d422
xor eax, eax
push ebp
xor ecx, ecx
lea edx, [eax + 6]
call fcn.0043a030
mov eax, dword [esp + 0x28]
mov ecx, ebp
call fcn.00432b40
mov ecx, dword [esp + 0x14]
xor eax, eax
push ebp
lea edx, [eax + 0x2d]
call fcn.0043a030
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c
ret