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

Disassembly:
sub esp, 0xa8
push edi
mov edi, ecx
cmp dword [edi + 0x34], 0
mov dword [esp + 4], 0
jne 0x51a3d1
xor eax, eax
pop edi
add esp, 0xa8
ret
cmp dword [edi], 0
jne 0x51a66b
cmp dword [edi + 4], 0
je 0x51a66b
cmp dword [edi + 0x7c], 0
push ebx
push ebp
push esi
je 0x51a581
mov esi, dword [0x607334]
lea eax, [esp + 0x98]
push eax
call esi
mov ecx, dword [edi + 0x14]
push ecx
call dword [0x6074e4]
mov ebp, eax
test ebp, ebp
je 0x51a668
lea edx, [esp + 0x14]
push edx
call esi
push 0
call dword [0x607040]
push ebp
mov ebx, eax
call dword [0x607068]
mov esi, eax
mov eax, dword [edi + 0x74]
push eax
push esi
call dword [0x60706c]
mov edx, dword [edi + 0x14]
lea ecx, [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x2c], eax
call dword [0x6074d8]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
call dword [0x6074ac]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0xcc0020
push eax
push ecx
push 0
push 0
push ebp
push eax
push ecx
push 0
push 0
push esi
call dword [0x607070]
mov ecx, dword [esp + 0x24]
push ecx
push esi
call dword [0x60706c]
push esi
call dword [0x607074]
push ebx
call dword [0x607048]
push 0x27
push str.e:prg_vs2008kclib_dx9include..kcClassBasekcClassBase.h
push 0x114
call fcn.00510640
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x51a4ba
mov ecx, eax
call fcn.0052e460
mov esi, eax
jmp 0x51a4bc
xor esi, esi
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
push 4
push edx
push eax
mov ecx, esi
call fcn.0052e5d0
test eax, eax
jne 0x51a4da
mov ecx, esi
call fcn.0052fbe0
xor esi, esi
lea ecx, [esp + 0x38]
push 0x80
push ecx
call fcn.004ffbf0
add esp, 8
mov ecx, esi
call fcn.0052e4c0
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0052e4a0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], ecx
mov ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], eax
call fcn.0052e4b0
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0x78]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x7c], ecx
add eax, eax
lea ecx, [esp + 0x38]
add eax, eax
push ecx
mov dword [esp + 0x64], 4
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], 1
call fcn.00547200
add esp, 4
jmp 0x51a5d5
push 0x27
push str.e:prg_vs2008kclib_dx9include..kcClassBasekcClassBase.h
push 0x114
call fcn.00510640
add esp, 0xc
test eax, eax
je 0x51a5a4
mov ecx, eax
call fcn.0052e460
mov esi, eax
jmp 0x51a5a6
xor esi, esi
mov eax, dword [0x7ae284]
movzx edx, word [eax + 0x56f2]
movzx eax, word [eax + 0x56f0]
push 4
push edx
push eax
mov ecx, esi
call fcn.0052e5d0
test eax, eax
je 0x51a661
mov ecx, dword [edi + 4]
push esi
call fcn.00521350
push 0xff
mov ecx, esi
call fcn.004ab9f0
mov ecx, eax
call fcn.00530b60
test esi, esi
je 0x51a668
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edi + 8]
call fcn.00521890
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
sub edi, dword [esp + 0x28]
sub ebx, dword [esp + 0x2c]
push 0x27
push str.e:prg_vs2008kclib_dx9include..kcClassBasekcClassBase.h
push 0x114
call fcn.00510640
add esp, 0xc
test eax, eax
je 0x51a630
mov ecx, eax
call fcn.0052e460
mov ebp, eax
mov dword [esp + 0x10], ebp
jmp 0x51a63c
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov ecx, esi
call fcn.0052e4c0
push eax
push ebx
push edi
mov ecx, ebp
call fcn.0052e5d0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ebx
push edi
push edx
push eax
push esi
mov ecx, ebp
call fcn.0052f200
mov ecx, esi
call fcn.0052fbe0
pop esi
pop ebp
pop ebx
mov eax, dword [esp + 4]
pop edi
add esp, 0xa8
ret