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

Disassembly:
mov eax, 0x576d33
call fcn.00566e38
sub esp, 0x140
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, ecx
push edi
lea ecx, [ebx + 0x68]
mov dword [ebx + 0x9c], eax
call fcn.004f9c64
xor edx, edx
lea ecx, [ebx + 0xd0]
mov dword [ebx + 0xc0], edx
xorps xmm0, xmm0
mov dword [ebx + 0xc4], edx
mov dword [ebx + 0xc8], edx
mov dword [ebx + 0xcc], edx
mov dword [ebx + 0xb3], edx
mov dword [ebx + 0xa8], edx
mov dword [ebx + 0xac], edx
mov eax, dword [ecx]
mov dword [ecx + 4], edx
movlpd qword [ebp - 0x18], xmm0
mov edi, dword [ebp - 0x18]
mov byte [eax], dl
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x10], edx
mov byte [eax], dl
mov eax, dword [ebx + 0xe8]
mov dword [ebx + 0xec], edx
mov byte [eax], dl
mov eax, dword [ebp - 0x14]
mov byte [ebx + 0xf4], 1
mov dword [ebx + 0xf8], edx
mov byte [ebx + 0xfc], dl
mov dword [ebx + 0x100], edx
mov dword [esi + 0x70], edx
mov word [esi + 0x74], dx
mov dword [esi + 0x80], edx
mov word [esi + 0x84], dx
mov dword [esi + 0x90], edx
mov word [esi + 0x94], dx
mov dword [esi + 0xa0], edx
mov word [esi + 0xa4], dx
mov dword [ebp - 0x1c], eax
cmp dword [esi + 0x34], edx
je 0x4fad65
push edx
push edx
push ebx
mov ecx, esi
call fcn.004faa0e
test eax, eax
jne 0x4fb1cb
push ebx
mov ecx, esi
call fcn.004f9c8d
test eax, eax
jne 0x4fb1cb
cmp byte [esi + 0x11], 0
mov eax, dword [esi + 0x14]
je 0x4fb19b
test eax, eax
jne 0x4fb1c9
add edi, 1
push eax
mov al, byte [ebx + 0x18]
pop edx
adc dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edi
mov byte [ebp - 0xd], al
cmp al, 0x4c
je 0x4faf43
cmp al, 0x4b
je 0x4faf43
cmp al, 0x67
je 0x4fadbb
cmp al, 0x78
je 0x4fadbb
cmp al, 0x58
jne 0x4faff6
cmp dword [ebx + 0xc0], 0x200
jne 0x4fadd3
mov byte [ebp + 0xb], 1
cmp dword [ebx + 0xc4], edx
je 0x4fadd6
mov byte [ebp + 0xb], dl
mov edi, 0x88
cmp al, 0x67
push 0x4000000
lea ecx, [edi + 0x10]
cmove edi, ecx
mov ecx, esi
add edi, esi
push edi
push ebx
call fcn.004faaa1
test eax, eax
jne 0x4fb1cb
xor edx, edx
cmp dword [esi + 0x14], edx
jne 0x4fb1c9
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
add ecx, 0x1ff
adc eax, edx
and ecx, 0xfffffe00
add dword [ebx + 0xc0], ecx
adc dword [ebx + 0xc4], eax
mov eax, dword [edi + 8]
cmp eax, dword [ebx]
jne 0x4fae3a
cmp edx, dword [ebx + 4]
jne 0x4fae3a
test eax, eax
je 0x4fae3a
cmp byte [edi + 0xc], dl
je 0x4fae41
mov byte [ebx + 0xab], 1
add dword [ebx + 0xc8], 1
adc dword [ebx + 0xcc], edx
cmp byte [ebp - 0xd], 0x67
je 0x4fae6d
lea eax, [ebx + 0x30]
push eax
lea ecx, [ebx + 0xd0]
call fcn.00402633
mov edi, dword [ebp - 0x14]
xor edx, edx
jmp 0x4fad4e
cmp byte [esi + 2], dl
je 0x4fae76
mov byte [esi + 3], 1
lea ecx, [ebp - 0x14c]
call fcn.004f9bb7
xor eax, eax
lea ecx, [ebp - 0x14c]
push eax
mov dword [ebp - 4], eax
lea eax, [esi + 0x98]
push eax
call fcn.004fa555
test al, al
je 0x4faebe
lea eax, [ebp - 0xcc]
push eax
lea ecx, [esi + 0x5c]
call fcn.00402633
lea eax, [ebx + 0x30]
push eax
lea ecx, [esi + 0x50]
call fcn.00402633
mov byte [esi + 2], 1
jmp 0x4faec2
mov byte [esi + 3], 1
cmp byte [ebp + 0xb], 0
mov edi, dword [ebp - 0x14]
je 0x4faf2b
cmp dword [ebx + 0xc8], 1
jne 0x4faf2b
xor ecx, ecx
cmp dword [ebx + 0xcc], ecx
jne 0x4faf2b
cmp edi, 1
jne 0x4faf2b
cmp dword [ebp - 0x1c], ecx
jne 0x4faf2b
mov eax, dword [ebx + 0xc0]
xorps xmm0, xmm0
add dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0xc4]
adc dword [ebx + 0xbc], eax
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [ebx + 0xc0], ecx
mov dword [ebx + 0xc4], ecx
mov dword [ebx + 0xc8], ecx
mov dword [ebx + 0xcc], ecx
mov dword [ebp - 0x1c], eax
jmp 0x4faf2f
mov byte [esi + 3], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004f9c26
jmp 0x4fae66
push 0x78
pop edi
push 0x68
pop ecx
cmp al, 0x4c
push 0x4000
cmove edi, ecx
mov ecx, esi
add edi, esi
push edi
push ebx
call fcn.004faaa1
test eax, eax
jne 0x4fb1cb
xor edx, edx
cmp dword [esi + 0x14], edx
jne 0x4fb1c9
cmp byte [ebp - 0xd], 0x4c
jne 0x4faf8c
mov al, byte [ebx + 0xb3]
mov byte [ebx + 0xb4], al
mov byte [ebx + 0xb3], 1
jmp 0x4faf9f
mov al, byte [ebx + 0xb5]
mov byte [ebx + 0xb6], al
mov byte [ebx + 0xb5], 1
cmp byte [edi + 0xd], dl
jne 0x4fafa7
mov dword [edi + 8], edx
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
add ecx, 0x1ff
adc eax, edx
and ecx, 0xfffffe00
add dword [ebx + 0xc0], ecx
adc dword [ebx + 0xc4], eax
mov eax, dword [edi + 8]
test eax, eax
je 0x4fafd7
inc eax
cmp eax, dword [ebx]
jne 0x4fafd7
cmp edx, dword [ebx + 4]
je 0x4fafde
mov byte [ebx + 0xa8], 1
cmp byte [edi + 0xc], dl
mov edi, dword [ebp - 0x14]
je 0x4fad4e
mov byte [ebx + 0xa8], 1
jmp 0x4fad4e
cmp byte [ebx + 0xb3], 0
je 0x4fb021
cmp dword [esi + 0x70], edx
je 0x4fb021
lea ecx, [ebx + 0x30]
mov eax, dword [ecx]
mov dword [ecx + 4], edx
mov byte [eax], dl
cmp dword [esi + 0x70], 0
je 0x4fb021
push dword [esi + 0x70]
push dword [esi + 0x68]
call fcn.004039f7
xor edx, edx
cmp byte [ebx + 0xb5], 0
je 0x4fb047
lea ecx, [ebx + 0x3c]
mov eax, dword [ecx]
mov dword [ecx + 4], edx
mov byte [eax], dl
mov eax, dword [esi + 0x80]
test eax, eax
je 0x4fb047
push eax
push dword [esi + 0x78]
call fcn.004039f7
xor eax, eax
mov dword [esi + 0x14], eax
cmp dword [esi + 0x90], eax
je 0x4fb1c9
lea ecx, [ebp - 0xb4]
call fcn.004f9bb7
xor eax, eax
lea ecx, [ebp - 0xb4]
inc eax
push eax
mov dword [ebp - 4], eax
lea eax, [esi + 0x88]
push eax
call fcn.004fa555
test al, al
je 0x4fb187
cmp byte [ebp - 0x7e], 0
je 0x4fb09d
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebx + 0x30]
call fcn.00402633
mov byte [ebx + 0xad], 1
cmp byte [ebp - 0x7d], 0
je 0x4fb0b6
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebx + 0x3c]
call fcn.00402633
mov byte [ebx + 0xae], 1
cmp byte [ebp - 0x7c], 0
je 0x4fb0c8
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebx + 0x48]
call fcn.00402633
cmp byte [ebp - 0x7b], 0
je 0x4fb0da
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebx + 0x54]
call fcn.00402633
cmp byte [ebp - 0x7a], 0
je 0x4fb0ef
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebx + 0xe8]
call fcn.00402633
cmp byte [ebp - 0x80], 0
je 0x4fb0fb
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0x20], eax
cmp byte [ebp - 0x7f], 0
je 0x4fb107
mov eax, dword [ebp - 0x68]
mov dword [ebx + 0x24], eax
cmp byte [ebp - 0x81], 0
je 0x4fb141
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
je 0x4fb12f
cmp dword [ebx + 8], ecx
jne 0x4fb128
cmp dword [ebx + 0xc], eax
je 0x4fb12f
mov byte [ebx + 0xab], 1
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov byte [ebx + 0xaf], 1
push 0xc
pop ecx
lea edi, [ebx + 0x68]
lea esi, [ebp - 0xb4]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx + 0xdc]
call fcn.00402633
cmp byte [ebp - 0x82], 0
je 0x4fb16e
mov byte [ebx + 0xac], 1
cmp byte [ebp - 0x83], 0
je 0x4fb17e
mov byte [ebx + 0xab], 1
cmp byte [ebp - 0x84], 0
je 0x4fb18e
mov byte [ebx + 0xab], 1
lea ecx, [ebp - 0xb4]
call fcn.004f9c26
jmp 0x4fb1c9
test eax, eax
jne 0x4fb1c9
or edi, dword [ebp - 0x1c]
jne 0x4fb1c2
cmp byte [ebx + 0xb3], al
jne 0x4fb1c2
cmp byte [ebx + 0xb5], al
jne 0x4fb1c2
mov eax, dword [ebx + 0xc8]
or eax, dword [ebx + 0xcc]
je 0x4fb1c9
mov dword [esi + 0x14], 1
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4