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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
push esi
push edi
cmp byte [ebp + 6], 0
jge 0x4d161f
cmp byte [ebp + 7], 0
mov dword [esp + 0x20], 0
je 0x4d1627
mov dword [esp + 0x20], 1
mov esi, dword [esp + 0x40]
push 0xef
push ebp
push esi
call fcn.004d73a0
mov edx, dword [esi + 0x48]
mov edi, 0xef
btr edi, eax
mov dword [esp + 0x20], eax
movzx eax, word [ebp]
add esp, 0xc
movzx ebx, byte [edx + eax*8 + 6]
test bl, bl
jns 0x4d1666
push edi
push eax
push esi
call fcn.004d72e0
mov edx, dword [esi + 0x48]
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x60]
btr eax, ebx
mov dword [esp + 0x24], 0x8000
mov dword [esi + 0x60], eax
movzx ecx, word [ebp + 2]
mov ebp, ecx
mov dword [esp + 0x1c], eax
mov eax, ecx
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], 0x80
lea eax, [edx + ebp*8]
mov dword [esp + 0x30], eax
mov al, byte [eax + 4]
mov byte [esp + 0x40], al
cmp cx, word [esp + 0x24]
jb 0x4d1723
movzx edx, byte [edx + ebp*8 + 6]
btr edi, ebx
mov cl, al
mov dword [esp + 0x18], edx
and cl, 0x1f
mov byte [esp + 0x44], cl
test dl, dl
jns 0x4d16ec
cmp cl, 0xe
mov edx, 0xff00
mov eax, edi
cmove eax, edx
push eax
push ebp
push esi
call fcn.004d72e0
mov cl, byte [esp + 0x50]
mov edx, eax
mov eax, dword [esi + 0x60]
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x4d16f0
mov eax, dword [esp + 0x1c]
btr eax, edx
mov dword [esi + 0x60], eax
cmp cl, 4
je 0x4d1723
mov eax, dword [esi + 0x58]
btr edi, edx
and eax, edi
jne 0x4d1713
push edi
push esi
call fcn.004d7630
add esp, 8
mov ecx, eax
jmp 0x4d1716
bsr ecx, eax
mov eax, dword [esi + 0x5c]
bts eax, ecx
mov dword [esp + 0x28], ecx
mov dword [esi + 0x5c], eax
cmp dword [esp + 0x48], 9
mov edx, dword [esi + 0x40]
mov dword [esp + 0x34], edx
jne 0x4d17a8
push 4
push esi
call fcn.004d0c70
mov eax, dword [esi + 0x40]
add esp, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x14]
mov word [eax - 2], 0x75
mov ebp, ecx
mov ah, cl
and ah, 7
mov al, ah
mov byte [esp + 0x10], ah
shl al, 3
mov dl, ah
add dl, al
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x12], dl
sub dl, 0x40
and ebp, 0x80
mov byte [esp + 0x13], dl
mov dword [esp + 0x38], ebp
mov byte [eax - 3], dl
mov dword [eax - 7], 0x850000fe
jne 0x4d1845
lea edi, [eax - 5]
mov eax, ecx
and al, 7
mov byte [edi], 0x10
cmp al, 4
jne 0x4d179c
dec edi
mov byte [edi], 0x24
mov byte [esp + 0x11], 0x40
mov eax, ecx
jmp 0x4d1858
cmp dword [esp + 0x20], 0
mov eax, edx
mov dword [esp + 0x1c], eax
je 0x4d1743
mov edi, dword [esi + 0x4c]
sub edi, 0x118
jne 0x4d1824
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x48]
cmp byte [eax + ecx*8 + 5], 0x10
lea ebp, [eax + ecx*8]
je 0x4d1824
mov ecx, dword [esi + 0xb4]
mov eax, dword [esi + 0x78]
inc eax
cmp eax, dword [ecx + 8]
jae 0x4d17e5
cmp byte [ebp + 0xd], 0x10
je 0x4d1824
mov cl, byte [edx]
cmp cl, 0xf
jne 0x4d17f5
mov al, byte [edx + 1]
and al, 0xf0
cmp al, 0x80
je 0x4d1824
and cl, 0xf0
cmp cl, 0x70
je 0x4d1824
mov ecx, dword [esp + 0x14]
and cl, 7
mov al, cl
shl cl, 3
sub cl, 0x40
add al, cl
mov byte [edx - 1], al
lea eax, [edx - 2]
mov dword [esp + 0x1c], eax
mov dword [edx - 5], 0x330000fe
jmp 0x4d1743
mov ecx, dword [esp + 0x14]
lea eax, [edx - 5]
mov dword [esp + 0x1c], eax
mov al, cl
mov dword [edx - 4], edi
and al, 7
mov edi, dword [esp + 0x1c]
sub al, 0x48
mov byte [edi], al
mov eax, edi
jmp 0x4d1747
lea edi, [eax - 8]
mov eax, 5
mov dword [edi], 0x10
mov byte [esp + 0x11], 0
mov dl, byte [esp + 0x10]
and al, 7
mov byte [esp + 0x44], dl
shl byte [esp + 0x44], 3
add al, byte [esp + 0x44]
add al, byte [esp + 0x11]
cmp dword [esp + 0x48], 8
mov edx, dword [esp + 0x34]
mov byte [edi - 1], al
lea eax, [edi - 2]
mov dword [edi - 5], 0x8b0000fe
mov dword [esp + 0x20], eax
mov dword [esi + 0x40], eax
jne 0x4d18a2
push 4
push esi
call fcn.004d0c70
mov edx, dword [esi + 0x40]
add esp, 8
mov ecx, dword [esp + 0x14]
jmp 0x4d18b5
sub dl, al
mov byte [eax - 2], 0x74
mov byte [eax - 1], dl
lea edx, [eax - 2]
mov dword [esi + 0x40], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], edx
cmp edx, dword [esi + 0x44]
jb 0x4d1d86
mov al, byte [esp + 0x40]
and al, 0x1f
mov byte [esp + 0x40], al
cmp al, 0xe
jne 0x4d1995
mov eax, dword [esp + 0x24]
cmp word [esp + 0x2c], ax
jae 0x4d192e
mov edi, dword [esp + 0x30]
push dword [edi + 8]
push 8
push ecx
push 0x838107
push esi
call fcn.004d6420
mov eax, dword [esi + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
sub dl, al
mov byte [eax - 2], 0x75
mov byte [eax - 1], dl
add eax, 0xfffffffe
mov dword [esi + 0x40], eax
push dword [edi + 0xc]
push 0xc
push ecx
push 0x838107
push esi
call fcn.004d6420
mov dl, byte [esi + 0x40]
add esp, 0x28
mov al, byte [esp + 0x40]
jmp 0x4d1a48
mov edx, dword [esp + 0x20]
mov al, dl
mov edx, dword [esp + 0x48]
sub al, dl
mov ebp, dword [esp + 0x18]
push 8
push ecx
mov byte [edx - 1], al
lea eax, [edx - 2]
push ebp
push 0x2e0f66fc
mov byte [eax], 0x7a
push esi
mov dword [esi + 0x40], eax
call fcn.004d67f0
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x34]
sub cl, al
push 0xc
mov byte [eax - 1], cl
mov ecx, dword [esp + 0x2c]
push ecx
mov byte [eax - 2], 0x73
add eax, 0xfffffffd
push 7
push 0x830000fe
mov dword [esi + 0x40], eax
push esi
mov byte [eax], 0xf2
call fcn.004d67f0
mov dl, byte [esi + 0x40]
add esp, 0x28
mov al, byte [esp + 0x40]
jmp 0x4d1a48
cmp al, 2
jbe 0x4d19e7
mov eax, dword [esp + 0x24]
cmp word [esp + 0x2c], ax
jae 0x4d19ba
mov eax, dword [esp + 0x30]
push dword [eax]
push 8
push ecx
push 0x838107
push esi
call fcn.004d6420
jmp 0x4d19cd
mov ebp, dword [esp + 0x18]
push 8
push ecx
push ebp
push 0x3b0000fe
push esi
call fcn.004d67f0
mov eax, dword [esi + 0x40]
add esp, 0x14
mov ecx, dword [esp + 0x20]
sub cl, al
mov byte [eax - 2], 0x75
lea edx, [eax - 2]
mov byte [eax - 1], cl
mov al, byte [esp + 0x40]
dec edx
mov cl, al
cmp dword [esp + 0x38], 0
not cl
mov dword [esi + 0x40], edx
mov byte [edx], cl
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x48], ecx
jne 0x4d1a1b
dec edx
and cl, 7
mov byte [edx], 0xc
cmp cl, 4
jne 0x4d1a13
dec edx
mov byte [edx], 0x24
mov ecx, dword [esp + 0x48]
mov ah, 0x78
jmp 0x4d1a2b
add edx, 0xfffffffc
mov ecx, 5
mov ah, 0x38
mov dword [edx], 0xc
and cl, 7
add cl, ah
mov byte [edx - 1], cl
lea ecx, [edx - 2]
mov dword [esp + 0x48], ecx
mov dword [edx - 5], 0x830000fe
mov edx, dword [esp + 0x48]
mov dword [esi + 0x40], edx
mov ecx, dword [esp + 0x1c]
sub dl, cl
mov byte [ecx - 1], dl
mov ecx, dword [esp + 0x24]
cmp word [esp + 0x2c], cx
jae 0x4d1b08
mov edi, dword [esp + 0x30]
mov dl, byte [edi + 4]
mov cl, dl
and cl, 0x1f
cmp cl, 4
jne 0x4d1a78
mov ecx, dword [edi]
mov edi, dword [ecx + 8]
jmp 0x4d1ab0
cmp cl, 0xe
jne 0x4d1a87
mov edx, dword [edi + 8]
mov edi, dword [edi + 0xc]
add edi, edi
jmp 0x4d1a9d
cmp cl, 2
ja 0x4d1a95
movzx edi, dl
and edi, 0x1f
dec edi
jmp 0x4d1ab0
mov edx, dword [edi]
lea edi, [edx - 0x4c11db7]
mov ecx, edi
rol edi, 0xe
xor ecx, edx
sub ecx, edi
rol edi, 5
xor edi, ecx
rol ecx, 0xd
sub edi, ecx
mov edx, dword [esi + 0x40]
mov ecx, ebx
and ecx, 0x80
test edi, edi
jne 0x4d1b18
test ecx, ecx
jne 0x4d1ad7
dec edx
mov eax, ebx
and al, 7
mov byte [edx], 0x14
cmp al, 4
jne 0x4d1ad3
dec edx
mov byte [edx], 0x24
mov al, 0x40
jmp 0x4d1ae7
add edx, 0xfffffffc
mov ebx, 5
xor al, al
mov dword [edx], 0x14
and bl, 7
add bl, byte [esp + 0x44]
add bl, al
lea eax, [edx - 2]
mov byte [edx - 1], bl
pop edi
mov dword [edx - 5], 0x8b0000fe
mov dword [esi + 0x40], eax
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov edx, dword [esi + 0x40]
mov ecx, ebx
mov edi, 1
and ecx, 0x80
test ecx, ecx
jne 0x4d1b34
dec edx
mov ecx, ebx
and cl, 7
mov byte [edx], 0x14
cmp cl, 4
jne 0x4d1b2e
dec edx
mov byte [edx], 0x24
mov ah, 0x40
mov ecx, ebx
jmp 0x4d1b44
add edx, 0xfffffffc
mov ecx, 5
xor ah, ah
mov dword [edx], 0x14
and cl, 7
add cl, byte [esp + 0x44]
add cl, ah
mov byte [edx - 1], cl
lea ecx, [edx - 3]
mov dword [edx - 5], 0x30000fe
mov dword [esi + 0x40], ecx
mov byte [ecx], 3
mov edx, dword [esi + 0x40]
mov cl, byte [esp + 0x10]
sub cl, 0x20
mov byte [edx - 1], cl
lea ecx, [edx - 2]
mov dword [esp + 0x48], ecx
mov dword [edx - 5], 0xc10000fe
mov edx, dword [esp + 0x14]
mov ecx, edx
and ecx, 7
cmp cl, 5
mov ecx, dword [esp + 0x48]
je 0x4d1b91
mov ah, 4
jmp 0x4d1b9b
dec ecx
mov ah, 0x44
mov dword [esp + 0x48], ecx
mov byte [ecx], 0
mov al, byte [esp + 0x12]
mov ebp, dword [esp + 0x48]
add al, 0x40
mov byte [ecx - 1], al
mov cl, byte [esp + 0x44]
mov al, byte [esp + 0x40]
add cl, ah
mov byte [ebp - 2], cl
mov ecx, ebp
add ecx, 0xfffffffd
mov dword [ebp - 6], 0x8d0000fe
mov ebp, dword [esp + 0x18]
mov dword [esi + 0x40], ecx
mov ecx, dword [esp + 0x24]
cmp word [esp + 0x2c], cx
jae 0x4d1bfe
push edi
push edx
push 0x838104
push esi
call fcn.004d6480
mov ecx, dword [esp + 0x24]
push 0x1c
push ebx
push ecx
push 0x8b0000fe
push esi
call fcn.004d67f0
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp al, 4
jne 0x4d1c2f
push 8
push ebp
push edx
push 0x230000fe
push esi
call fcn.004d67f0
mov ecx, dword [esp + 0x28]
push 0x1c
push ebx
push ecx
push 0x8b0000fe
push esi
call fcn.004d67f0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x1c
push ebx
push edx
push 0x230000fe
push esi
call fcn.004d67f0
mov eax, dword [esi + 0x40]
add esp, 0x14
mov ebx, dword [esp + 0x28]
mov dl, byte [esp + 0x44]
and bl, 7
sub dl, 0x40
mov dword [esp + 0x28], ebx
add dl, bl
mov byte [eax - 1], dl
mov dword [eax - 5], 0x2b0000fe
add eax, 0xfffffffd
mov dword [esi + 0x40], eax
mov byte [eax], 0xd
mov al, bl
mov ecx, dword [esi + 0x40]
sub al, 0x40
mov byte [ecx - 1], al
lea eax, [ecx - 4]
mov dword [ecx - 5], 0xc10000fe
mov byte [ecx - 3], dl
mov dword [ecx - 7], 0x330000fe
mov dword [esi + 0x40], eax
cmp eax, dword [esi + 0x44]
jb 0x4d1d86
mov ch, byte [esp + 0x10]
dec eax
mov dword [esi + 0x40], eax
mov cl, ch
sub cl, 0x40
shl bl, 3
sub ch, 0x40
mov byte [eax], 5
add ch, bl
mov eax, dword [esi + 0x40]
mov byte [eax - 1], cl
mov dword [eax - 5], 0xc10000fe
mov byte [eax - 3], ch
mov dword [eax - 7], 0x2b0000fe
add eax, 0xfffffffb
cmp byte [esp + 0x40], 0xe
mov dword [esi + 0x40], eax
mov byte [eax], 0xe
mov edx, dword [esi + 0x40]
mov byte [edx - 1], cl
lea edi, [edx - 6]
mov dword [edx - 5], 0xc10000fe
mov byte [edx - 3], ch
mov dword [edx - 7], 0x330000fe
jne 0x4d1d4c
mov al, byte [esp + 0x13]
push dword [esp + 0x30]
mov byte [edx - 5], al
mov dword [edx - 9], 0x30000fe
push esi
mov dword [esi + 0x40], edi
call fcn.004d7df0
mov ecx, dword [esp + 0x1c]
add eax, 4
push eax
push 4
push ecx
push 0x8b0000fe
push esi
call fcn.004d67f0
mov eax, dword [esp + 0x34]
add esp, 0x1c
mov ecx, dword [esi + 0x40]
and al, 7
shl al, 3
sub al, 0x40
add al, byte [esp + 0x28]
mov byte [ecx - 1], al
lea eax, [ecx - 4]
pop edi
mov dword [ecx - 5], 0x7e0f66fc
mov dword [esi + 0x40], eax
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov ecx, dword [esp + 0x18]
mov al, cl
push 0xfb3ee249
push ecx
mov ecx, dword [esp + 0x1c]
and al, 7
sub al, 0x40
push ecx
add al, bl
mov byte [edx - 5], al
push 0x8d0000fe
mov dword [edx - 9], 0x8b0000fe
push esi
mov dword [esi + 0x40], edi
call fcn.004d67f0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push esi
call fcn.004d36a0
int3