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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
cmp byte [esi + 0x68], 0
push edi
mov edi, dword [ebx + 0xc]
mov dword [ebp + 8], edi
je 0x831495fb
push 0x58
mov ecx, edi
call fcn.8313d4a1
mov edx, eax
test edx, edx
je 0x83149582
xor eax, eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], eax
push 8
pop ecx
lea edi, [edx + 0x2c]
mov dword [edx + 0x28], eax
mov dword [edx + 0x4c], 2
mov byte [edx + 0x50], al
mov dword [edx + 0x54], eax
mov dword [edx + 4], edx
mov dword [edx], edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
jmp 0x83149584
xor edx, edx
test edx, edx
jne 0x8314959c
mov eax, 0xc000009a
mov esi, eax
push eax
push 0x82fcf714
push 0xa
jmp 0x831496f0
mov byte [edx + 0x50], 0
mov eax, dword [esi + 0x28]
mov dword [edx + 0x28], eax
add esi, 0x2c
push 8
lea edi, [edx + 0x2c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x50]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x58]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x54]
mov dword [edx + 0x24], eax
lea eax, [ebx + 0x3c]
mov ecx, dword [eax + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
cmp dword [ecx], eax
je 0x831495e0
push 3
pop ecx
int 0x29
mov edi, dword [ebp + 8]
mov dword [ecx], edx
mov dword [eax + 4], edx
lea eax, [ebx + 0x4c]
or dword [eax], 2
cmp dword [edx + 0xc], 0
mov ecx, dword [eax]
je 0x831495fb
or ecx, 8
mov dword [eax], ecx
lea eax, [esi + 0x1f8]
mov esi, dword [eax]
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], esi
cmp esi, eax
je 0x831496fd
cmp byte [esi + 0x78], 0
je 0x831496d0
push 0x58
mov ecx, edi
call fcn.8313d4a1
mov edx, eax
test edx, edx
je 0x83149666
xor eax, eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], eax
push 8
pop ecx
lea edi, [edx + 0x2c]
mov dword [edx + 0x28], eax
mov dword [edx + 0x4c], 2
mov byte [edx + 0x50], al
mov dword [edx + 0x54], eax
mov dword [edx + 4], edx
mov dword [edx], edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
jmp 0x83149668
xor edx, edx
test edx, edx
je 0x831496e1
mov byte [edx + 0x50], 1
mov eax, dword [esi + 0x38]
mov dword [edx + 0x28], eax
add esi, 0x3c
push 8
lea edi, [edx + 0x2c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 4]
mov eax, dword [esi + 0x74]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x60]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x68]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x64]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 0x7c]
mov dword [edx + 0x54], eax
lea eax, [ebx + 0x3c]
mov ecx, dword [eax + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
cmp dword [ecx], eax
jne 0x831495db
mov dword [ecx], edx
mov dword [eax + 4], edx
lea eax, [ebx + 0x4c]
or dword [eax], 1
cmp dword [edx + 0x14], 0
mov ecx, dword [eax]
je 0x831496cd
or ecx, 4
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
mov esi, dword [esi]
mov dword [ebp - 4], esi
cmp esi, eax
je 0x831496fd
mov edi, dword [ebp + 8]
jmp 0x83149611
mov eax, 0xc000009a
mov esi, eax
push eax
push 0x82fcf714
push 0xb
push 2
push edi
push 0x12
pop ecx
call fcn.83141e64
jmp 0x83149722
lea edi, [ebx + 0x3c]
cmp dword [edi], edi
je 0x83149720
mov eax, edi
mov ecx, ebx
call fcn.83153f00
mov esi, eax
test esi, esi
js 0x83149722
push edi
push ebx
call fcn.831540ab
mov esi, eax
test esi, esi
js 0x83149722
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8