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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
call fcn.004d7cb0
mov esi, dword [ebp + 0xc]
call fcn.004d7cc0
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], edi
cmp dword [esp + 0xd4], 0
jne 0x4d7439
mov dword [esp + 0xe8], 0
jmp 0x4d7c6e
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xd0], eax
cmp dword [esp + 0xe4], 0
je 0x4d7512
mov eax, 0
mov ecx, dword [0x88c650]
call fcn.004d7cd0
add eax, 0xffffffff
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
push ecx
mov ecx, 0xf89a2200
xor ecx, 0xf89a220a
cmp edx, ecx
pop ecx
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4d74ab
jmp 0x4d7c7d
mov eax, dword [esp + 0xe4]
call fcn.004d7ce0
call fcn.004d7cf0
mov esi, ecx
sub esi, 0xab8a3986
add esi, 0xffffffff
add esi, 0xab8a3986
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x48], eax
jne 0x4d7505
jmp 0x4d7c7d
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
jmp 0x4d753a
mov eax, 0
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
call fcn.004d7d00
mov esi, eax
sub esi, ecx
mov ecx, eax
sub ecx, edx
add esi, ecx
sub eax, esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xcc]
cmp dword [eax + 0x7c], 0
jne 0x4d7569
mov dword [esp + 0xe8], 0
jmp 0x4d7c6e
mov eax, 0
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xcc]
mov edx, dword [edx + 0x78]
add ecx, 0xfca8dc93
add ecx, edx
sub ecx, 0xfca8dc93
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc8]
mov edx, dword [edx + 0x1c]
mov esi, eax
sub esi, ecx
mov ecx, eax
sub ecx, edx
add esi, ecx
sub eax, esi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 0x24]
sub eax, 0x7e1f7dd2
add eax, ecx
sub eax, 0x81e0822e
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc8]
call fcn.004d7d10
add eax, 0x98b5d32a
add eax, ecx
sub eax, 0x98b5d32a
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
movzx eax, byte [eax]
cmp eax, 0xff
je 0x4d7668
mov eax, dword [esp + 0xd8]
mov ecx, 0x7f
mov ecx, esp
call fcn.004d7d20
call fcn.00438640
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00428440
mov dword [esp + 0xb8], eax
jmp 0x4d7696
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 1]
mov ecx, dword [esp + 0xe0]
mov edx, eax
xor edx, 0xffffffff
mov esi, ecx
and esi, edx
xor ecx, 0xffffffff
and eax, ecx
or esi, eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc8]
cmp eax, dword [ecx + 0x18]
jae 0x4d7c63
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xac], eax
cmp dword [esp + 0xac], 0
jne 0x4d76e6
jmp 0x4d7c3b
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xac]
add ecx, eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xac]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x40], eax
call fcn.00438640
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00428440
mov ecx, dword [esp + 0x40]
cmp ecx, eax
je 0x4d77ff
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov esi, ecx
add esi, 0xc8ac377e
add esi, 0xffffffff
sub esi, 0xc8ac377e
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x4d77ad
jmp 0x4d7c82
call fcn.004d7d30
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0x8bae6078
sub edx, 1
add edx, 0x74519f88
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x4d77fa
jmp 0x4d7c82
jmp 0x4d7c3b
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xcc]
cmp eax, dword [ecx + 0x78]
jb 0x4d7c14
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xcc]
mov ecx, dword [ecx + 0x78]
mov edx, dword [esp + 0xcc]
call fcn.004d7d40
sub ecx, 0x6c9c36f2
add ecx, edx
add ecx, 0x6c9c36f2
cmp eax, ecx
jae 0x4d7c14
mov eax, 0x5bfe34
mov eax, dword [eax]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xa8]
mov esi, eax
sub esi, ecx
mov ecx, eax
sub ecx, edx
add esi, ecx
sub eax, esi
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x90]
call fcn.00401770
sub esp, 4
mov ecx, esp
mov dword [ecx + 4], 0
call fcn.004d7d50
lea ecx, [esp + 0x90]
mov dword [esp + 0x3c], eax
call fcn.004ccf60
sub esp, 8
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x8c], eax
cmp dword [esp + 0x8c], 0xffffffff
je 0x4d7af1
mov eax, dword [esp + 0x8c]
mov ecx, 0x10
mov ecx, esp
mov dword [ecx + 8], eax
lea eax, [esp + 0x68]
mov dword [ecx], eax
mov dword [ecx + 4], 0
lea ecx, [esp + 0x90]
call fcn.00498be0
sub esp, 0xc
mov al, 1
mov ecx, 0
call fcn.004d7d60
mov esi, dword [0x88c654]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
push ebx
mov ebx, 0x7c48e33c
xor ebx, 0x7c48e336
cmp esi, ebx
pop ebx
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x4d7987
jmp 0x4d7c87
lea ecx, [esp + 0x68]
call fcn.004ddfd0
call fcn.004d7d70
call fcn.004d7d80
mov esi, ecx
sub esi, 0xde4bd831
sub esi, 1
add esi, 0xde4bd831
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x34], eax
jne 0x4d79e3
jmp 0x4d7c87
mov ecx, 0x400
mov eax, esp
mov ecx, dword [esp + 0x34]
call fcn.004d7d90
call fcn.004d7da0
call eax
sub esp, 4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x68]
mov dword [esp + 0x2c], eax
call fcn.00551e20
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
je 0x4d7aec
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x8c]
sub edx, 0xf703d8c2
sub edx, 0xffffffff
sub edx, 0x8fc273e
mov esi, esp
call fcn.004d7db0
lea edx, [esp + 0x50]
mov dword [esi], edx
mov dword [esi + 8], 0xffffffff
lea edx, [esp + 0x90]
mov dword [esp + 0x28], ecx
mov ecx, edx
mov dword [esp + 0x24], eax
call fcn.00498be0
sub esp, 0xc
lea ecx, [esp + 0x50]
call fcn.004ddfd0
mov ecx, 0x4075dbba
pushfd
add ecx, 0xbf8a2446
popfd
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], ecx
call fcn.004d73d0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe8], eax
lea ecx, [esp + 0x50]
call fcn.00551e20
mov dword [esp + 0x4c], 1
jmp 0x4d7bec
jmp 0x4d7af1
mov al, 1
mov ecx, dword [0x88c650]
call fcn.004d7dc0
mov esi, ecx
sub esi, 0x57a4713e
add esi, 0xffffffff
sub esi, 0xa85b8ec2
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x4d7b66
jmp 0x4d7c99
mov al, 1
mov ecx, 0
mov dword [esp + 0x4c], 2
call fcn.004d7dd0
mov esi, dword [0x88c654]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
push ebx
mov ebx, 0xffa87db8
xor ebx, 0xffa87db2
cmp esi, ebx
pop ebx
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x4d7be7
jmp 0x4d7c99
jmp 0x4d7bec
lea ecx, [esp + 0x90]
call fcn.00551e20
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
cmp eax, 2
jl 0x4d7c6e
jmp 0x4d7c63
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xa8]
sub eax, 0x2ec2008e
add eax, ecx
sub eax, 0xd13dff72
mov dword [esp + 0xe8], eax
jmp 0x4d7c6e
mov eax, 0
mov ecx, dword [esp + 0xb0]
mov edx, eax
sub edx, ecx
mov ecx, eax
add ecx, 0xffffffff
add edx, ecx
sub eax, edx
mov dword [esp + 0xb0], eax
jmp 0x4d76a1
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xe8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x4d74ab
jmp 0x4d77ad
lea ecx, [esp + 0x68]
call fcn.004ddfd0
mov dword [esp + 0x14], eax
jmp 0x4d7987
mov dword [esp + 0x4c], 2
jmp 0x4d7b66