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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
add eax, 0x220
cmp dword [eax], esi
push edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
je 0x4d5b6e
lea edi, [esp + 0xa8]
call fcn.004d6ba0
mov edx, dword [eax]
lea ecx, [esp + 0x3c]
push ecx
push edx
call fcn.004dbf40
mov ebx, dword [esp + 0x3c]
cmp ebx, esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
je 0x4d5b6e
add dword [esp + 0x20], 1
cmp ebx, esi
je 0x4d5985
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5987
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d59b8
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d59ba
xor edi, edi
mov eax, dword [edi + 0x214]
add eax, eax
cmp eax, dword [esp + 0x14]
jbe 0x4d5a35
test ebx, ebx
je 0x4d59f4
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d59f6
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d5a27
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5a29
xor edi, edi
mov edi, dword [edi + 0x214]
add edi, edi
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x4d5a61
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5a63
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d5a94
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5a96
xor edi, edi
mov ecx, dword [edi + 0x21c]
add ecx, ecx
cmp ecx, dword [esp + 0x18]
jbe 0x4d5b11
test ebx, ebx
je 0x4d5ad0
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5ad2
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d5b03
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5b05
xor edi, edi
mov edi, dword [edi + 0x21c]
add edi, edi
mov dword [esp + 0x18], edi
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x220]
add eax, 0x220
test edi, edi
je 0x4d5b4d
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5b4f
xor edi, edi
push ebx
lea edx, [esp + 0xb4]
push edx
push edi
call fcn.004d7be0
mov ebx, dword [eax]
xor esi, esi
cmp ebx, esi
jne 0x4d5954
mov dword [esp + 0x3c], ebx
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x224]
cmp edi, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
je 0x4d5dc9
mov eax, dword [0x100ef85c]
mov ebx, edi
mov esi, eax
shr ebx, 0x10
push eax
mov eax, ebx
call fcn.004d01e0
push ebx
mov eax, esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
lea ecx, [esp + 0x34]
push ecx
push edi
call fcn.004dbf40
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x4d5dc9
add dword [esp + 0x1c], 1
test ebx, ebx
je 0x4d5bf7
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5bf9
xor ecx, ecx
mov edi, dword [ecx + 0x1c]
test edi, edi
je 0x4d5c2a
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5c2c
xor edi, edi
mov edx, dword [edi + 8]
add edx, edx
cmp edx, dword [esp + 0x24]
jbe 0x4d5ca1
test ebx, ebx
je 0x4d5c63
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5c65
xor ecx, ecx
mov edi, dword [ecx + 0x1c]
test edi, edi
je 0x4d5c96
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5c98
xor edi, edi
mov edi, dword [edi + 8]
add edi, edi
mov dword [esp + 0x24], edi
test ebx, ebx
je 0x4d5ccd
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5ccf
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d5d00
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5d02
xor edi, edi
mov eax, dword [esp + 0x2c]
cmp dword [edi + 0x14], eax
jbe 0x4d5d73
test ebx, ebx
je 0x4d5d37
mov eax, dword [0x100ef85c]
mov edi, ebx
mov esi, eax
shr edi, 0x10
push eax
mov eax, edi
call fcn.004d01e0
push edi
mov eax, esi
call fcn.004d0680
mov ecx, ebx
and ecx, 0xffff
add ecx, dword [eax]
jmp 0x4d5d39
xor ecx, ecx
mov edi, dword [ecx + 0x20]
test edi, edi
je 0x4d5d6a
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5d6c
xor edi, edi
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], ecx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x224]
test edi, edi
je 0x4d5daa
mov eax, dword [0x100ef85c]
mov esi, edi
mov dword [esp + 0x10], eax
shr esi, 0x10
push eax
mov eax, esi
call fcn.004d01e0
mov eax, dword [esp + 0x10]
push esi
call fcn.004d0680
and edi, 0xffff
add edi, dword [eax]
jmp 0x4d5dac
xor edi, edi
push ebx
lea eax, [esp + 0xb8]
push eax
push edi
call fcn.004d7be0
mov ebx, dword [eax]
test ebx, ebx
jne 0x4d5bc6
mov dword [esp + 0x34], ebx
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x218]
test edi, edi
je 0x4d5e38
mov eax, dword [0x100ef85c]
mov ebx, edi
mov esi, eax
shr ebx, 0x10
push eax
mov eax, ebx
call fcn.004d01e0
push ebx
mov eax, esi
call fcn.004d0680
mov eax, dword [0x100ef85c]
mov esi, eax
push eax
mov eax, ebx
call fcn.004d01e0
push ebx
mov eax, esi
call fcn.004d0680
mov edx, dword [ebp + 8]
and edi, 0xffff
add edi, dword [eax]
mov ax, word [edx + 0x21c]
add ax, ax
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], eax
mov ebx, eax
jmp 0x4d5e3e
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [ebp + 8]
mov ax, word [ecx + 0x214]
mov esi, dword [ebp + 0xc]
lea edx, [ecx + 0x14]
mov dword [esp + 0x44], edx
mov edx, dword [ecx + 0x228]
mov ecx, dword [ecx + 0x22c]
add ax, ax
cmp word [esi + 2], ax
mov word [esp + 0x40], ax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jae 0x4d606f
movzx edx, ax
and edx, 0x800000ff
jns 0x4d5e8b
dec edx
or edx, 0xffffff00
inc edx
mov eax, dword [esp + 0x40]
sub eax, edx
add eax, 0x100
mov word [esi + 2], ax
movzx eax, ax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
xor edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], edx
test eax, eax
mov ecx, 0x100ef4b4
mov dword [esp + 0x64], edx
mov eax, 0x100ef4b8
je 0x4d5fa7
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x33]
mov edi, ecx
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
call fcn.00535220
test al, al
je 0x4d5f23
mov eax, dword [esp + 0x98]
add dword [eax], 1
mov al, 1
mov edx, dword [esp + 0x10]
mov ecx, dword [0x100ef808]
push edx
mov byte [esp + 0xa8], al
mov eax, dword [esp + 0x3c]
push eax
push 1
push ecx
call dword [0x100cf1dc]
cmp byte [esp + 0xa4], 0
mov ebx, eax
je 0x4d6061
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x10]
add dword [ecx], 0xffffffff
mov edx, dword [eax + 0x10]
mov edi, eax
add eax, 0x10
cmp dword [edx], 0
jne 0x4d6061
mov eax, edx
mov dword [eax], 0
mov ecx, dword [edi + 8]
push 0
push ecx
call dword [0x100cf084]
mov edx, dword [edi + 0xc]
test edx, edx
lea eax, [edi + 0xc]
jle 0x4d6061
push eax
call dword [0x100cf080]
mov eax, dword [edi + 0x14]
push 0
push 1
push eax
jmp 0x4d605b
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x32]
mov edi, ecx
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
call fcn.00535220
test al, al
je 0x4d5fee
mov eax, dword [esp + 0x78]
add dword [eax], 1
mov al, 1
mov edx, dword [esp + 0x10]
push edx
mov byte [esp + 0x88], al
mov eax, dword [0x100ef808]
push 1
push eax
call dword [0x100cf14c]
cmp byte [esp + 0x84], 0
mov ebx, eax
je 0x4d6061
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
add dword [ecx], 0xffffffff
mov ecx, dword [eax + 0x10]
mov edi, eax
add eax, 0x10
cmp dword [ecx], 0
jne 0x4d6061
mov edx, ecx
mov dword [edx], 0
mov eax, dword [edi + 8]
push 0
push eax
call dword [0x100cf084]
mov ecx, dword [edi + 0xc]
test ecx, ecx
lea eax, [edi + 0xc]
jle 0x4d6061
push eax
call dword [0x100cf080]
mov edx, dword [edi + 0x14]
push 0
push 1
push edx
call dword [0x100cf088]
mov eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [esi + 4], eax
mov ax, word [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 4]
mov word [esi], ax
movzx eax, ax
push eax
push ecx
push edx
call dword [0x100ef7ec]
test ebx, ebx
jne 0x4d608e
mov dword [esi + 8], ebx
jmp 0x4d60e0
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esi + 8], 1
cmp word [esi + 0xe], di
jae 0x4d60cd
movzx eax, di
and eax, 0x800000ff
jns 0x4d60b1
dec eax
or eax, 0xffffff00
inc eax
mov ecx, edi
sub ecx, eax
lea eax, [ecx + 0x100]
mov ecx, dword [esi + 0x10]
mov word [esi + 0xe], ax
movzx eax, ax
call fcn.0053b3c0
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
movzx edx, di
push edx
push ebx
push eax
mov word [esi + 0xc], di
call dword [0x100ef7ec]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x28], edx
mov edx, dword [esp + 0x2c]
pop edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8