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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x704c60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov esi, dword [ecx + 0x3c]
test esi, esi
je 0x57f49c
mov eax, dword [ebp - 0x20]
mov ebx, 0x180c
mov edi, dword [eax + 0x34]
add edi, 8
jmp 0x57f476
add edi, 0x20
dec esi
je 0x57f49c
movzx eax, byte [edi - 8]
cmp eax, 0xc
ja 0x57f470
bt ebx, eax
jae 0x57f470
cmp dword [edi], 0
je 0x57f470
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x57f470
mov ebx, dword [ebp - 0x20]
cmp dword [ebx + 0x38], 0
je 0x57f4b6
push dword [ebx + 0x34]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [ebx + 0x40]
mov edi, dword [ebx + 0x48]
jmp 0x57f4c3
add esi, 0x1c
sub edi, 1
jb 0x57f4fd
cmp byte [esi + 0x18], 2
je 0x57f4e5
cmp dword [esi + 0x10], 0
je 0x57f4e5
push dword [esi + 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 4], 0
je 0x57f4c0
push dword [esi]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x57f4c0
cmp dword [ebx + 0x44], 0
je 0x57f514
push dword [ebx + 0x40]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [ebx + 0x4c]
mov edi, dword [ebx + 0x54]
add esi, 0x2c
jmp 0x57f523
add esi, 0x30
sub edi, 1
jb 0x57f574
cmp byte [esi - 0x14], 2
je 0x57f545
cmp dword [esi - 0x1c], 0
je 0x57f545
push dword [esi - 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi - 0xc], 0
je 0x57f55c
push dword [esi - 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi - 4]
test eax, eax
je 0x57f520
lock dec dword [eax]
jne 0x57f520
mov ecx, dword [esi - 4]
mov edx, dword [esi]
call fcn.004f2ff0
jmp 0x57f520
cmp dword [ebx + 0x50], 0
je 0x57f58b
push dword [ebx + 0x4c]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [ebx + 0x7c], 0
je 0x57f5a2
push dword [ebx + 0x78]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [ebx + 0xf0], 0
je 0x57f5c6
push dword [ebx + 0xec]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebp - 0x10], 0
lea ecx, [ebx + 0x14c]
mov dword [ebp - 0x10], 0
call fcn.0052b240
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi + 0x104]
test ecx, ecx
je 0x57f60b
lea eax, [ecx + 0x10]
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x57f60b
mov ecx, dword [esi + 0x100]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esi + 0x148]
test esi, esi
je 0x57f65c
mov eax, dword [ebp - 0x20]
mov ebx, 0x180c
mov edi, dword [eax + 0x140]
add edi, 8
jmp 0x57f636
add edi, 0x20
dec esi
je 0x57f65c
movzx eax, byte [edi - 8]
cmp eax, 0xc
ja 0x57f630
bt ebx, eax
jae 0x57f630
cmp dword [edi], 0
je 0x57f630
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x57f630
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x144], 0
je 0x57f67c
push dword [eax + 0x140]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret