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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
mov edi, ecx
mov ebp, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0xcc]
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0xb0], eax
push esi
call fcn.004d44b0
mov dword [esp + 8], eax
mov ecx, dword [edi + 0x2c]
push esi
call fcn.00452db0
mov byte [esp + 3], al
lea eax, [esp + 0x30]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x10
mov dword [esp + 4], 0
mov dword [esp + 0x10], ebx
test ebx, ebx
mov dword [esp + 0xc], edi
jne 0x4d47a9
test ebp, ebp
mov ecx, ebp
mov ebp, dword [esp + 0xe4]
jne 0x4d47d4
mov ecx, edi
call fcn.004ce990
mov esi, dword [eax + 8]
mov ecx, dword [edi + 0x2c]
mov byte [esp + 0x18], 0
lea eax, [esi + 1]
cmp eax, 2
jae 0x4d47b4
mov edi, dword [esp + 0xc]
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx + 0xb4]
cmp esi, edx
jne 0x4d46dd
mov esi, dword [edi + 0x1e8]
test esi, esi
je 0x4d46dd
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x2c]
ja 0x4d4c20
mov ecx, dword [esp + 0x24]
mov dword [ecx + eax*8], 0
mov dword [ecx + eax*8 + 4], esi
add dword [esp + 0x28], 1
mov ecx, edi
call fcn.004c4c00
mov al, byte [eax + 0x330]
and al, 0x40
shr al, 6
mov dword [esp + 4], eax
jmp 0x4d46f6
mov byte [esp + 0x18], 0
lea eax, [edx + 1]
cmp eax, 2
jae 0x4d4aca
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xe0]
mov eax, dword [edi + 0x1c]
test byte [eax], 0x10
je 0x4d47d4
cmp byte [esp + 0xd8], 0
jne 0x4d47d4
mov esi, dword [edi + 0x268]
mov ebx, dword [edi + 0x26c]
cmp ebx, esi
jne 0x4d4748
jmp 0x4d47d4
mov ecx, dword [esp + 0x24]
mov dword [ecx + eax*8], ebp
mov dword [ecx + eax*8 + 4], edi
add dword [esp + 0x28], 1
mov edi, dword [esp + 0xc]
cmp esi, ebx
je 0x4d47c6
mov eax, ebx
add ebx, 0xffffffe8
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x4d4770
cmp byte [ecx + 0x220], 0
jne 0x4d4744
mov ecx, dword [eax - 0xc]
jmp 0x4d4777
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x4d4744
call fcn.004c4890
test eax, eax
je 0x4d4744
mov ebp, eax
mov edi, dword [eax + 0x28]
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x2c]
jbe 0x4d4730
lea ecx, [esp + 0x24]
push 8
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00424880
mov eax, dword [esp + 0x28]
jmp 0x4d4730
mov ecx, ebp
mov ebp, dword [esp + 0xe4]
jmp 0x4d47d4
test esi, esi
js 0x4d4ad8
add ecx, 0x6c
mov eax, esi
jmp 0x4d4af9
mov ebp, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xec]
mov eax, dword [edi + 0x258]
mov dword [ebp], eax
movzx ebx, byte [esp + 0xfc]
movzx ebp, byte [esp + 0xd8]
test ecx, ecx
je 0x4d486e
mov esi, ecx
mov dword [esp + 0x18], eax
xor eax, eax
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x34]
push 0
push ebx
push 0
push 0
push dword [esp + 0x100]
push dword [esp + 0x1c]
mov edi, edx
push edx
push dword [esp + 0x104]
push dword [esp + 0x48]
push dword [esp + 0x48]
lea edx, [esp + 0x40]
push edx
push eax
push ebp
push dword [esp + 0x100]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
lea eax, [esp + 0x54]
push eax
call fcn.0050b0b0
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4d4881
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 8]
mov edx, dword [edx + 4]
and edx, 0xfffffffc
cmp edx, esi
je 0x4d4874
mov edx, edi
jmp 0x4d4800
mov esi, edi
mov edi, edx
jmp 0x4d4885
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0xc]
mov al, byte [esp + 3]
xor al, 1
mov byte [esp + 3], al
mov ecx, dword [esi + 0x34]
movzx edx, byte [esp + 4]
lea eax, [esp + 0x18]
push edx
push ebx
push dword [esp + 0x100]
push dword [esp + 0x100]
mov ebx, dword [esp + 0x100]
push ebx
push dword [esp + 0x1c]
push edi
push dword [esp + 0x104]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x10c]
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x100]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push eax
call fcn.0050b0b0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4d4948
test ebx, ebx
je 0x4d493a
mov ecx, dword [esi + 0x1c]
test byte [ecx + 3], 8
jne 0x4d493a
mov ecx, 0x120
add ecx, dword [esi + 0x34]
mov eax, dword [eax + 4]
and eax, 0xfffffffc
movzx edx, byte [esp + 3]
push eax
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push edx
push dword [esp + 0x1c]
call fcn.004f44e0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc8]
mov dword [esi], eax
jmp 0x4d49d7
mov eax, dword [esi + 0x250]
test eax, eax
mov edi, esi
je 0x4d496c
cmp byte [eax + 0x220], 0
mov esi, dword [esp + 0xc8]
jne 0x4d49c1
mov ecx, dword [edi + 0x254]
jmp 0x4d497d
mov ecx, dword [edi + 0x254]
test ecx, ecx
mov esi, dword [esp + 0xc8]
je 0x4d49c1
call fcn.004c4890
test eax, eax
je 0x4d49c1
mov ecx, dword [edi + 0x34]
push ebx
push dword [esp + 0xc]
push dword [esp + 0xf4]
push dword [esp + 0xf4]
push eax
push dword [esp + 0xe8]
push dword [esp + 0xe8]
push esi
call fcn.0050ca40
mov eax, dword [esi]
test eax, eax
je 0x4d49c1
test ebx, ebx
jne 0x4d4a85
jmp 0x4d49d7
mov ebx, dword [edi + 0x268]
mov ebp, dword [edi + 0x26c]
cmp ebp, ebx
jne 0x4d4a17
mov dword [esi], 0
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x30]
cmp eax, ecx
je 0x4d49ed
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00533ace
mov eax, esi
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret 0x38
add ebp, 0xffffffe8
cmp ebx, ebp
je 0x4d49d1
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4d4a30
cmp byte [eax + 0x220], 0
jne 0x4d4a10
mov ecx, dword [ebp - 0xc]
jmp 0x4d4a37
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x4d4a10
call fcn.004c4890
test eax, eax
je 0x4d4a10
mov ecx, dword [edi + 0x34]
push dword [esp + 0xf0]
push dword [esp + 0xc]
push dword [esp + 0xf4]
push dword [esp + 0xf4]
push eax
push dword [esp + 0xe8]
push dword [esp + 0xe8]
push esi
call fcn.0050ca40
mov eax, dword [esi]
test eax, eax
je 0x4d4a10
cmp dword [esp + 0xf0], 0
je 0x4d49d7
mov ecx, dword [edi + 0x1c]
test byte [ecx + 3], 8
jne 0x4d49d7
mov ecx, 0x120
add ecx, dword [edi + 0x34]
mov eax, dword [eax + 4]
and eax, 0xfffffffc
movzx edx, byte [esp + 3]
push eax
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push edx
push dword [esp + 0x1c]
call fcn.004f44e0
jmp 0x4d49d7
test edx, edx
js 0x4d4b47
add ecx, 0x6c
mov eax, edx
jmp 0x4d4b68
mov eax, 0xfffffffe
sub eax, esi
mov edx, eax
shr edx, 5
mov edi, dword [ecx + 0x8c]
mov edx, dword [edi + edx*4]
bt edx, eax
jae 0x4d4bea
add ecx, 0x78
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d4685
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
js 0x4d4685
mov eax, dword [eax + 0xc]
and eax, 0xfffffff8
mov edi, dword [eax + 4]
test edi, edi
je 0x4d4685
mov esi, dword [edi + 0x28]
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x2c]
ja 0x4d4c3a
mov ecx, dword [esp + 0x24]
mov dword [ecx + eax*8], edi
mov dword [ecx + eax*8 + 4], esi
jmp 0x4d4bc7
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
shr edx, 5
mov esi, dword [ecx + 0x8c]
mov edx, dword [esi + edx*4]
bt edx, eax
jae 0x4d4c05
add ecx, 0x78
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d46ee
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
mov ecx, dword [esp + 0xe0]
js 0x4d4bdd
mov eax, dword [eax + 0xc]
and eax, 0xfffffff8
mov esi, dword [eax + 4]
test esi, esi
je 0x4d4bdd
mov ecx, dword [edi + 0x28]
lea eax, [esp + 0x18]
push 1
push 1
push 0x5385f0
push eax
call fcn.00456aa0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
cmp edx, dword [esp + 0x2c]
ja 0x4d4c54
mov ecx, dword [esp + 0x24]
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edi
add dword [esp + 0x28], 1
mov dword [esp + 4], 0
mov edi, dword [esp + 0xc]
jmp 0x4d46f6
mov dword [esp + 4], 0
jmp 0x4d46fd
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x18], 0
jne 0x4d4685
jmp 0x4d4b09
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x18], 0
jne 0x4d46ee
jmp 0x4d4b78
lea ecx, [esp + 0x24]
push 8
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00424880
mov eax, dword [esp + 0x28]
jmp 0x4d46b1
lea ecx, [esp + 0x24]
push 8
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00424880
mov eax, dword [esp + 0x28]
jmp 0x4d4b37
lea ecx, [esp + 0x24]
push 8
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00424880
mov eax, dword [esp + 0x28]
jmp 0x4d4bbc