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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], ebx
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [ebx + 0xc], edx
mov edx, edi
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [ebx + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x1c], eax
mov eax, dword [edx + 0x20]
mov dword [ebx + 0x20], eax
mov eax, dword [edx + 0x24]
mov dword [ebx + 0x24], eax
mov eax, dword [edx + 0x28]
mov dword [ebx + 0x28], eax
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x30]
mov dword [ebx + 0x30], eax
mov eax, dword [edx + 0x34]
mov dword [ebx + 0x34], eax
mov eax, dword [edx + 0x38]
mov dword [ebx + 0x38], eax
mov eax, dword [edx + 0x3c]
mov dword [ebx + 0x3c], eax
mov eax, dword [edx + 0x40]
mov dword [ebx + 0x40], eax
mov eax, dword [edx + 0x44]
mov dword [ebx + 0x44], eax
movzx eax, byte [edx + 0x48]
mov byte [ebx + 0x48], al
mov eax, dword [edx + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [edx + 0x50]
mov ecx, dword [edx + 0x54]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
movzx eax, byte [edx + 0x58]
mov byte [ebx + 0x58], al
movzx eax, byte [edx + 0x59]
mov byte [ebx + 0x59], al
movzx eax, byte [edx + 0x5a]
mov byte [ebx + 0x5a], al
movzx eax, byte [edx + 0x5b]
mov byte [ebx + 0x5b], al
movzx eax, byte [edx + 0x5c]
mov byte [ebx + 0x5c], al
movzx eax, byte [edx + 0x5d]
mov byte [ebx + 0x5d], al
movzx eax, byte [edx + 0x5e]
mov byte [ebx + 0x5e], al
movzx eax, byte [edx + 0x5f]
mov byte [ebx + 0x5f], al
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x60], eax
movzx eax, byte [edx + 0x64]
mov byte [ebx + 0x64], al
movzx eax, byte [edx + 0x65]
mov byte [ebx + 0x65], al
mov eax, dword [edx + 0x68]
mov dword [ebx + 0x68], eax
mov eax, dword [edx + 0x6c]
mov dword [ebx + 0x6c], eax
mov eax, dword [edx + 0x70]
mov dword [ebx + 0x70], eax
mov eax, dword [edx + 0x74]
mov dword [ebx + 0x74], eax
mov eax, dword [edx + 0x78]
lea esi, [edx + 0xb8]
mov dword [ebx + 0x78], eax
lea edi, [ebx + 0xb8]
mov eax, dword [edx + 0x7c]
mov dword [ebx + 0x7c], eax
mov eax, dword [edx + 0x80]
mov dword [ebx + 0x80], eax
mov eax, dword [edx + 0x84]
mov dword [ebx + 0x84], eax
mov eax, dword [edx + 0x88]
mov dword [ebx + 0x88], eax
mov eax, dword [edx + 0x8c]
mov dword [ebx + 0x8c], eax
movzx eax, byte [edx + 0x90]
mov byte [ebx + 0x90], al
movzx eax, byte [edx + 0x91]
mov byte [ebx + 0x91], al
movzx eax, byte [edx + 0x92]
mov byte [ebx + 0x92], al
movzx eax, byte [edx + 0x93]
mov byte [ebx + 0x93], al
movzx eax, byte [edx + 0x94]
mov byte [ebx + 0x94], al
movzx eax, byte [edx + 0x95]
mov byte [ebx + 0x95], al
movzx eax, byte [edx + 0x96]
mov byte [ebx + 0x96], al
mov eax, dword [edx + 0x98]
mov dword [ebx + 0x98], eax
mov eax, dword [edx + 0x9c]
mov dword [ebx + 0x9c], eax
mov eax, dword [edx + 0xa0]
mov dword [ebx + 0xa0], eax
mov eax, dword [edx + 0xa4]
mov dword [ebx + 0xa4], eax
mov eax, dword [edx + 0xa8]
mov dword [ebx + 0xa8], eax
mov eax, dword [edx + 0xac]
mov dword [ebx + 0xac], eax
mov eax, dword [edx + 0xb0]
mov ecx, dword [edx + 0xb4]
mov dword [ebx + 0xb4], ecx
mov ecx, 0x28c
mov dword [ebx + 0xb0], eax
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0xae8]
mov ecx, 0xa3
lea edi, [ebx + 0xae8]
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [edx + 0xd74]
movups xmmword [ebx + 0xd74], xmm0
movups xmm0, xmmword [edx + 0xd84]
movups xmmword [ebx + 0xd84], xmm0
movups xmm0, xmmword [edx + 0xd94]
movups xmmword [ebx + 0xd94], xmm0
movups xmm0, xmmword [edx + 0xda4]
movups xmmword [ebx + 0xda4], xmm0
mov eax, dword [edx + 0xdb4]
mov dword [ebx + 0xdb4], eax
mov eax, dword [edx + 0xdb8]
mov ecx, dword [edx + 0xdbc]
mov dword [ebx + 0xdb8], eax
mov dword [ebx + 0xdbc], ecx
mov eax, dword [edx + 0xdc0]
mov dword [ebx + 0xdc0], eax
movzx eax, byte [edx + 0xdc4]
mov byte [ebx + 0xdc4], al
mov eax, dword [edx + 0xdc8]
mov dword [ebx + 0xdc8], eax
mov eax, dword [edx + 0xdcc]
mov dword [ebx + 0xdcc], eax
mov eax, dword [edx + 0xdd0]
mov dword [ebx + 0xdd0], eax
movzx eax, byte [edx + 0xdd4]
mov byte [ebx + 0xdd4], al
movzx eax, byte [edx + 0xdd5]
mov byte [ebx + 0xdd5], al
movzx eax, byte [edx + 0xdd6]
mov byte [ebx + 0xdd6], al
movzx eax, byte [edx + 0xdd7]
mov byte [ebx + 0xdd7], al
mov eax, dword [edx + 0xdd8]
mov dword [ebx + 0xdd8], eax
lea eax, [edx + 0xddc]
push 0x28c0
push eax
lea eax, [ebx + 0xddc]
push eax
call fcn.1004c220
mov edi, dword [ebp + 8]
add esp, 0xc
movzx eax, byte [edi + 0x369c]
mov byte [ebx + 0x369c], al
mov eax, dword [edi + 0x36a0]
mov ecx, dword [edi + 0x36a4]
mov dword [ebx + 0x36a0], eax
mov dword [ebx + 0x36a4], ecx
movups xmm0, xmmword [edi + 0x36a8]
movups xmmword [ebx + 0x36a8], xmm0
movups xmm0, xmmword [edi + 0x36b8]
movups xmmword [ebx + 0x36b8], xmm0
movq xmm0, qword [edi + 0x36c8]
movq qword [ebx + 0x36c8], xmm0
movups xmm0, xmmword [edi + 0x36d0]
movups xmmword [ebx + 0x36d0], xmm0
movups xmm0, xmmword [edi + 0x36e0]
movups xmmword [ebx + 0x36e0], xmm0
movq xmm0, qword [edi + 0x36f0]
movq qword [ebx + 0x36f0], xmm0
mov eax, dword [edi + 0x36f8]
mov dword [ebx + 0x36f8], eax
movzx eax, byte [edi + 0x36fc]
mov byte [ebx + 0x36fc], al
mov eax, dword [edi + 0x36fd]
mov dword [ebx + 0x36fd], eax
movzx eax, byte [edi + 0x3701]
mov byte [ebx + 0x3701], al
movq xmm0, qword [edi + 0x3702]
movq qword [ebx + 0x3702], xmm0
movzx eax, word [edi + 0x370a]
mov word [ebx + 0x370a], ax
movq xmm0, qword [edi + 0x370c]
movq qword [ebx + 0x370c], xmm0
movzx eax, word [edi + 0x3714]
mov word [ebx + 0x3714], ax
mov eax, dword [edi + 0x3716]
mov dword [ebx + 0x3716], eax
movzx eax, byte [edi + 0x371a]
mov byte [ebx + 0x371a], al
mov eax, dword [edi + 0x371b]
mov dword [ebx + 0x371b], eax
movzx eax, byte [edi + 0x371f]
mov byte [ebx + 0x371f], al
mov eax, dword [edi + 0x3720]
mov dword [ebx + 0x3720], eax
movzx eax, byte [edi + 0x3724]
mov byte [ebx + 0x3724], al
movzx eax, byte [edi + 0x3725]
mov byte [ebx + 0x3725], al
movups xmm0, xmmword [edi + 0x3728]
movups xmmword [ebx + 0x3728], xmm0
mov eax, dword [edi + 0x3738]
mov dword [ebx + 0x3738], eax
movups xmm0, xmmword [edi + 0x373c]
movups xmmword [ebx + 0x373c], xmm0
mov eax, dword [edi + 0x374c]
mov dword [ebx + 0x374c], eax
movups xmm0, xmmword [edi + 0x3750]
movups xmmword [ebx + 0x3750], xmm0
mov eax, dword [edi + 0x3760]
mov dword [ebx + 0x3760], eax
mov eax, dword [edi + 0x3764]
mov dword [ebx + 0x3764], eax
movzx eax, byte [edi + 0x3768]
mov byte [ebx + 0x3768], al
movzx eax, byte [edi + 0x3769]
mov byte [ebx + 0x3769], al
movzx eax, byte [edi + 0x376a]
mov byte [ebx + 0x376a], al
movzx eax, byte [edi + 0x376b]
mov byte [ebx + 0x376b], al
movzx eax, word [edi + 0x376c]
lea ecx, [ebx + 0x3770]
mov word [ebx + 0x376c], ax
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 8], 0
mov esi, dword [edi + 0x3770]
test esi, esi
jle 0x100443a7
mov edx, 8
mov eax, esi
cmp esi, edx
cmovl eax, edx
push eax
call fcn.1001cb20
lea ecx, [ebx + 0x3770]
mov dword [ecx], esi
mov edx, dword [edi + 0x3778]
test edx, edx
je 0x100443c3
lea eax, [esi + esi]
push eax
push edx
push dword [ecx + 8]
call fcn.1004c220
add esp, 0xc
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 4