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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea esi, [ebp - 4]
mov dword [ebp - 8], 1
mov eax, dword [esi]
call fcn.004dc5b0
mov edi, eax
mov eax, dword [esi]
call fcn.004dc668
sub edi, eax
mov eax, dword [esi]
test byte [eax + 0x4a], 1
je 0x4d7a79
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0xb4]
call fcn.004e2ed4
test al, al
je 0x4d77fc
mov eax, dword [esi]
mov dword [eax + 0xc0], edi
push ebp
push 1
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0xb4]
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0xb0
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0xb8]
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd8b8
test al, al
je 0x4d790a
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
cmp byte [eax + 0x22b], 2
je 0x4d787f
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0x9c]
call fcn.004e2ed4
test al, al
je 0x4d790a
mov eax, dword [esi]
mov dword [eax + 0xa8], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd38c
push eax
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x9c]
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0x98
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0xa0]
jmp 0x4d790a
push 0x4d8054
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
movsx eax, word [eax + 0x84]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov ecx, 0x4d8068
pop edx
call fcn.004e8818
mov ebx, eax
test ebx, ebx
jge 0x4d78d2
push 0x4d8054
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov ebx, dword [edx + 0x5c]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x18]
call fcn.004e8818
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x4d790a
mov eax, dword [esi]
mov dword [eax + 0xa8], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd3e8
push eax
push 0
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0x98
mov ecx, ebx
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0xa0]
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd958
test al, al
je 0x4d7a29
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
cmp byte [eax + 0x22b], 1
jne 0x4d79d5
push 0x4d8054
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
movsx eax, word [eax + 0x84]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov ecx, 0x4d8068
pop edx
call fcn.004e8818
mov ebx, eax
test ebx, ebx
jge 0x4d7987
push 0x4d8054
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov ebx, dword [edx + 0x5c]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x18]
call fcn.004e8818
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, ebx
call fcn.004e2ed4
test al, al
je 0x4d7a29
mov eax, dword [esi]
mov dword [eax + 0x90], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd3e8
push eax
push 0
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0x80
mov ecx, ebx
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0x88]
jmp 0x4d7a29
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0x84]
call fcn.004e2ed4
test al, al
je 0x4d7a29
mov eax, dword [esi]
mov dword [eax + 0x90], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
call fcn.004dd3bc
push eax
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x84]
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0x80
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0x88]
mov eax, dword [esi]
test byte [eax + 0x4a], 8
je 0x4d7a79
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0xcc]
call fcn.004e2ed4
test al, al
je 0x4d7a79
mov eax, dword [esi]
mov dword [eax + 0xd8], edi
push ebp
push 1
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0xcc]
lea edx, [ebp - 8]
mov eax, dword [esi]
add eax, 0xc8
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov edi, dword [eax + 0xd0]
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
call fcn.0041da98
test eax, eax
jle 0x4d7ce2
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jge 0x4d7abb
push 0x4d807c
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov ebx, dword [edx + 0x5c]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x18]
call fcn.004e8818
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
call fcn.0041da98
dec eax
test eax, eax
jl 0x4d7ce2
inc eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
cmp byte [eax + 0xc], 0
je 0x4d7b6b
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [ebp - 0xc]
call fcn.004e2ed4
test al, al
je 0x4d7b6b
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x30], edx
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov dword [eax + 0x3c], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov al, byte [eax + 0x28]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
add eax, 0x2c
lea edx, [ebp - 8]
mov ecx, dword [ebp - 0xc]
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov edi, dword [eax + 0x34]
jmp 0x4d7bc2
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov dword [eax + 0x3c], edi
push ebp
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov al, byte [eax + 0x28]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
add eax, 0x2c
lea edx, [ebp - 8]
or ecx, 0xffffffff
call fcn.004d7680
pop ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov edi, dword [eax + 0x34]
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
cmp dword [eax + 0x14], 0
je 0x4d7cd8
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x20]
dec eax
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
call fcn.0042e64c
xor edx, edx
pop ecx
call fcn.00429dfc
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
pop edx
call fcn.0042f7c4
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [esi]
call fcn.004d2944
pop edx
sub eax, edx
sar eax, 1
jns 0x4d7c6c
adc eax, 0
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
pop edx
add edx, dword [eax + 0x38]
push edx
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
mov edx, eax
mov eax, dword [esi]
call fcn.004dcfcc
pop edx
sub eax, edx
sar eax, 1
jns 0x4d7cb2
adc eax, 0
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x54]
mov edx, ebx
call fcn.004ddb4c
pop edx
add edx, dword [eax + 0x34]
push edx
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0x34]
call fcn.0042e64c
pop edx
pop ecx
call fcn.004297f8
inc ebx
dec dword [ebp - 0x10]
jne 0x4d7ad4
mov eax, dword [esi]
call fcn.004db130
test al, al
je 0x4d8042
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0xe4]
call fcn.004e2ed4
test al, al
je 0x4d7de5
mov eax, dword [esi]
call fcn.004db00c
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [esi]
call fcn.004db17c
mov ebx, eax
mov eax, dword [esi]
call fcn.004db00c
sub ebx, eax
sar ebx, 1
jns 0x4d7d35
adc ebx, 0
mov eax, dword [esi]
call fcn.004db0a8
mov edi, eax
sub edi, ebx
mov eax, dword [esi]
call fcn.004db00c
sub edi, eax
dec edi
push edi
mov eax, dword [esi]
call fcn.004dc5b0
mov ebx, eax
mov eax, dword [esi]
call fcn.004dc668
sub ebx, eax
mov eax, dword [esi]
call fcn.004daf70
inc eax
lea eax, [eax + eax*2]
sub ebx, eax
push ebx
mov eax, dword [esi]
call fcn.004daf70
mov ecx, eax
pop eax
pop edx
call fcn.0041b6d4
mov eax, dword [esi]
push esi
lea esi, [ebp - 0x20]
lea edi, [eax + 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
mov al, byte [eax + 0x14c]
xor al, 1
and eax, 0x7f
inc eax
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov eax, dword [eax + 0x78]
mov edx, dword [esi]
imul edx, dword [edx + 0xe4], 0xd
lea eax, [eax + edx*4]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [esi]
mov edx, dword [eax + 0xec]
mov eax, dword [esi]
mov eax, dword [eax + 0xe8]
call fcn.0041b684
lea edx, [ebp - 0x28]
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0x34]
call fcn.004c12dc
mov eax, dword [0x5a22dc]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
call fcn.00483460
test eax, eax
je 0x4d7e20
mov eax, dword [0x5a22dc]
mov eax, dword [eax]
mov eax, dword [eax + 0x15c]
call fcn.00483460
cmp byte [eax + 0x22b], 2
je 0x4d7e20
mov eax, dword [esi]
mov ebx, dword [eax + 0xfc]
jmp 0x4d7e68
push 0x4d8090
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov ebx, dword [edx + 0x5c]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x18]
call fcn.004e8818
mov ebx, eax
test ebx, ebx
jge 0x4d7e68
push 0x4d8054
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0x5c]
mov edx, dword [edx + 0x18]
mov ecx, 0x4d80a4
call fcn.004e8818
mov ebx, eax
mov eax, dword [esi]
call fcn.004db00c
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [esi]
call fcn.004db17c
mov edi, eax
mov eax, dword [esi]
call fcn.004db00c
sub edi, eax
sar edi, 1
jns 0x4d7e8d
adc edi, 0
push edi
mov eax, dword [esi]
call fcn.004db0a8
mov edi, eax
pop eax
sub edi, eax
mov eax, dword [esi]
call fcn.004db00c
sub edi, eax
dec edi
push edi
mov eax, dword [esi]
call fcn.004dc668
mov edx, dword [esi]
mov edx, dword [edx + 0x15c]
mov edi, dword [edx + 0x48]
sub edi, eax
mov eax, dword [esi]
call fcn.004daf70
inc eax
add eax, eax
sub edi, eax
push edi
mov eax, dword [esi]
call fcn.004daf70
mov ecx, eax
pop eax
pop edx
call fcn.0041b6d4
mov eax, dword [esi]
push esi
lea esi, [ebp - 0x20]
lea edi, [eax + 0x100]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, ebx
call fcn.004e2ed4
test al, al
je 0x4d7f4f
mov eax, dword [esi]
mov al, byte [eax + 0x14c]
xor al, 1
and eax, 0x7f
inc eax
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov eax, dword [eax + 0x78]
imul edx, ebx, 0xd
lea eax, [eax + edx*4]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [esi]
mov edx, dword [eax + 0x104]
mov eax, dword [esi]
mov eax, dword [eax + 0x100]
call fcn.0041b684
lea edx, [ebp - 0x28]
mov eax, dword [esi]
mov ecx, dword [eax + 0xf8]
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0x34]
call fcn.004c12dc
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov edx, dword [esi]
mov edx, dword [edx + 0x114]
call fcn.004e2ed4
test al, al
je 0x4d8042
mov eax, dword [esi]
call fcn.004db00c
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [esi]
call fcn.004db17c
mov ebx, eax
mov eax, dword [esi]
call fcn.004db00c
sub ebx, eax
sar ebx, 1
jns 0x4d7f93
adc ebx, 0
mov eax, dword [esi]
call fcn.004db0a8
mov edi, eax
sub edi, ebx
mov eax, dword [esi]
call fcn.004db00c
sub edi, eax
dec edi
push edi
mov eax, dword [esi]
call fcn.004dc668
mov edx, dword [esi]
mov edx, dword [edx + 0x15c]
mov ebx, dword [edx + 0x48]
sub ebx, eax
mov eax, dword [esi]
call fcn.004daf70
sub ebx, eax
dec ebx
push ebx
mov eax, dword [esi]
call fcn.004daf70
mov ecx, eax
pop eax
pop edx
call fcn.0041b6d4
mov eax, dword [esi]
push esi
lea esi, [ebp - 0x20]
lea edi, [eax + 0x118]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
mov al, byte [eax + 0x14c]
xor al, 1
and eax, 0x7f
inc eax
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
call fcn.004ea11c
mov eax, dword [eax + 0x78]
mov edx, dword [esi]
imul edx, dword [edx + 0x114], 0xd
lea eax, [eax + edx*4]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [esi]
mov edx, dword [eax + 0x11c]
mov eax, dword [esi]
mov eax, dword [eax + 0x118]
call fcn.0041b684
lea edx, [ebp - 0x28]
mov eax, dword [esi]
mov ecx, dword [eax + 0x110]
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + 0x34]
call fcn.004c12dc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret