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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff50
mov esi, esp
call fcn.004d09f0
mov edx, dword [ebp + 0x10]
call fcn.004d0a00
mov ebx, dword [ebp + 8]
mov dword [esi + 0xa4], eax
mov al, 1
mov byte [esi + 0xa3], al
mov eax, dword [0x88c650]
mov dword [esi + 0x9c], eax
mov eax, dword [0x88c654]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x9c]
add eax, 0x4935e09b
sub eax, 1
sub eax, 0x4935e09b
call fcn.004d0a10
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x90], ecx
call fcn.004d0a20
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
call fcn.004d0a30
cmp ecx, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov byte [esi + 0x8f], al
mov al, byte [esi + 0xa3]
xor al, 0
mov byte [esi + 0x8e], al
mov al, cl
and al, 0
mov byte [esi + 0x8d], al
mov al, byte [esi + 0x8f]
mov byte [esi + 0x8c], cl
mov cl, byte [esi + 0x8e]
and al, cl
mov cl, ch
and cl, 0
mov byte [esi + 0x8b], al
mov al, byte [esi + 0x8e]
and ah, al
mov al, byte [esi + 0x8d]
mov byte [esi + 0x8a], cl
mov cl, byte [esi + 0x8b]
or al, cl
mov cl, byte [esi + 0x8a]
or cl, ah
xor al, cl
mov cl, byte [esi + 0x8c]
or cl, ch
xor cl, 1
mov ah, byte [esi + 0x8e]
or ah, 0
and cl, ah
or al, cl
test al, 1
call fcn.004d0a40
mov dword [esi + 0x80], edi
mov dword [esi + 0x7c], edx
jne 0x4d0271
jmp 0x4d08c3
mov eax, 4
mov dword [esi + 0x78], eax
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x74], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x78]
call fcn.004d0a50
mov eax, ecx
call fcn.00437f10
mov eax, esp
call fcn.004d0a60
call fcn.004d0a70
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x68], eax
mov eax, ecx
call fcn.00437f10
mov eax, 0x40
mov eax, esp
call fcn.004d0a80
mov dword [esi + 0x64], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x60], eax
mov eax, 0x437300
mov eax, ecx
call fcn.00437f10
mov eax, ecx
mov eax, esp
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x5c], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x58], eax
mov eax, 0x4374e0
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x437288
mov esp, eax
mov ecx, dword [esi + 0x78]
call fcn.004d0a90
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x50], eax
mov eax, 0x4374b0
mov eax, ecx
call fcn.00437f10
mov eax, 0x1ff
mov eax, esp
call fcn.004d0aa0
mov dword [esi + 0x4c], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov edx, 0x1ffff
mov eax, esp
mov ecx, dword [esi + 0x74]
call fcn.004d0ab0
mov dword [ecx], edx
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x7c]
mov dword [edi], ebx
mov ecx, dword [esi + 0x6c]
call fcn.004d0ac0
call fcn.004d0ad0
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x84]
mov dword [ecx], edx
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x90]
call fcn.004d0ae0
mov ecx, dword [ecx]
call fcn.004d0af0
sub esp, 8
mov edi, esp
mov dword [edi + 4], 0xffffffff
mov dword [edi], 0x87fc28
call fcn.004d0b00
mov ecx, 0x7ff
mov ecx, edx
call fcn.004d0b10
call fcn.004b4ea0
mov cl, 1
mov edx, 0
call fcn.004d0b20
mov dword [edi], eax
mov eax, dword [edi]
sub edx, 1
mov ebx, eax
sub ebx, edx
mov dword [edi], ebx
cmp eax, 0xffffffff
sete ch
mov eax, dword [0x88c650]
mov edx, dword [0x88c654]
mov ebx, eax
add ebx, 0xc84ee03
sub ebx, 1
sub ebx, 0xc84ee03
imul eax, ebx
and eax, 1
cmp eax, 0
sete al
cmp edx, 0xa
setl ah
mov dl, al
xor dl, 1
mov dh, ah
xor dh, 1
xor cl, 0
mov bl, dl
and bl, 0
and al, cl
mov bh, dh
and bh, 0
and ah, cl
or bl, al
or bh, ah
xor bl, bh
or dl, dh
xor dl, 1
or cl, 0
and dl, cl
or bl, dl
test bl, 1
mov byte [esi + 0x43], ch
jne 0x4d0462
jmp 0x4d08c3
mov al, byte [esi + 0x43]
test al, 1
jne 0x4d0472
jmp 0x4d047a
mov eax, dword [esi + 0x60]
call fcn.004d0b30
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
add edi, 0x7c32d484
add edi, 0xffffffff
sub edi, 0x7c32d484
imul ecx, edi
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 0x4d04f0
jmp 0x4d09a7
mov eax, dword [esi + 0x5c]
mov dword [eax], 0
mov ecx, dword [esi + 0x58]
mov dword [ecx], 0
call fcn.004d0b40
call fcn.004d0b50
mov edi, dword [esi + 0x60]
mov ebx, dword [edi]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x54]
mov dword [eax], ebx
call fcn.004d0b60
call fcn.00407990
mov al, 1
mov ecx, 0xffffffff
mov edx, dword [esi + 0x48]
mov edi, dword [edx + 0x11c]
xor edi, 0xffffffff
mov ebx, ecx
xor ebx, 0xc
xor ecx, 0xf157d982
or edi, ebx
or ecx, 0xf157d982
xor edi, 0xffffffff
and edi, ecx
mov ecx, dword [0x88c650]
mov ebx, dword [0x88c654]
mov edx, 0x1f
mov edx, ecx
add edx, 0x51fe4b8e
sub edx, 1
sub edx, 0x51fe4b8e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
mov dh, ch
and dh, 1
and ah, al
mov bl, dl
and bl, 1
and cl, al
or dh, ah
or bl, cl
xor dh, bl
or ch, dl
xor ch, 1
or al, 1
and ch, al
or dh, ch
test dh, 1
mov dword [esi + 0x3c], edi
jne 0x4d05d8
jmp 0x4d09a7
jmp 0x4d05dd
mov eax, dword [esi + 0x3c]
cmp eax, 8
jne 0x4d06b3
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov edx, dword [esi + 0x74]
mov edi, dword [edx]
mov ebx, dword [esi + 0x6c]
mov eax, dword [ebx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0x18
mov ebx, eax
mov ebx, esp
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x5c]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x54]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], ecx
call fcn.004d0b70
mov ecx, dword [esi + 0x38]
mov dword [ebx + 4], ecx
mov dword [ebx], edx
mov ecx, dword [esi + 0x48]
call fcn.004b7800
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x58]
call fcn.004d0b80
mov eax, dword [esi + 0x5c]
call fcn.004d0b90
mov edi, dword [ecx]
sub edi, 0xffffffc4
sub esp, 8
mov ebx, esp
call fcn.004d0ba0
mov dword [ebx], edi
call fcn.004d0bb0
call fcn.0053d650
mov eax, dword [esi + 0x68]
call fcn.004d0bc0
call fcn.004d0bd0
call fcn.004d0be0
sub esp, 8
mov ebx, esp
mov dword [ebx + 4], ecx
mov dword [ebx], edi
mov ecx, dword [esi + 0x48]
call fcn.005151f0
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
sub ecx, 0xfffffff0
call fcn.004d0bf0
sub esp, 0xc
mov edi, esp
mov dword [edi + 8], ecx
mov dword [edi + 4], edx
mov dword [edi], 0
mov ecx, dword [esi + 0x48]
call fcn.004ebe60
jmp 0x4d089c
jmp 0x4d06b8
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x80
mov edx, eax
sub edx, 0x6c9ceea1
add edx, 0xffffffff
add edx, 0x6c9ceea1
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 0x4d070a
jmp 0x4d09e7
mov eax, 0
mov ecx, 0xffffffff
mov edx, dword [esi + 0x48]
mov edi, dword [edx + 0x11c]
xor ecx, 4
mov ebx, edi
xor ebx, ecx
and ebx, edi
cmp ebx, 0
setne cl
mov edi, dword [0x88c650]
call fcn.004d0c00
sub eax, 1
mov edx, 0x800000
mov edx, edi
add edx, eax
imul edi, edx
and edi, 1
cmp edi, 0
sete ch
cmp ebx, 0xa
setl al
mov ah, ch
and ah, al
xor ch, al
or ah, ch
test ah, 1
mov byte [esi + 0x33], cl
jne 0x4d077f
jmp 0x4d09e7
mov al, byte [esi + 0x33]
test al, 1
jne 0x4d078f
jmp 0x4d07f3
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
call fcn.004d0c10
mov edi, dword [edx]
call fcn.004d0c20
mov eax, dword [ebx]
call fcn.004d0c30
mov edx, dword [edx]
sub esp, 0x18
mov ebx, 0x80
mov ebx, esp
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x5c]
call fcn.004d0c40
mov eax, dword [esi + 0x54]
mov dword [ebx + 0x10], eax
call fcn.004d0c50
call fcn.004d0c60
call fcn.004d0c70
mov dword [ebx + 4], ecx
mov dword [ebx], edx
mov ecx, dword [esi + 0x48]
call fcn.005217e0
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x58]
call fcn.004d0c80
jmp 0x4d084d
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
call fcn.004d0c90
mov edi, dword [edx]
mov ebx, dword [esi + 0x6c]
mov eax, dword [ebx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0x1c
mov ebx, esp
mov dword [esi + 0x24], eax
call fcn.004d0ca0
call fcn.004d0cb0
mov eax, dword [esi + 0x54]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], edi
call fcn.004d0cc0
mov dword [ebx + 4], ecx
mov dword [ebx], edx
mov dword [ebx + 0x18], 0x50
mov ecx, dword [esi + 0x48]
call fcn.004dd340
call fcn.004d0cd0
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
call fcn.004d0ce0
mov ecx, dword [eax]
mov edx, dword [esi + 0x58]
mov edi, dword [edx]
add edi, 0x3c
sub esp, 8
mov ebx, esp
mov dword [ebx + 4], ecx
mov dword [ebx], edi
mov ecx, dword [esi + 0x48]
call fcn.0053d650
mov eax, dword [esi + 0x58]
call fcn.004d0cf0
sub esp, 0xc
mov edx, ecx
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx + 8], 0
call fcn.004d0d00
mov ecx, dword [esi + 0x48]
call fcn.004ebe60
jmp 0x4d089c
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x44]
call fcn.004d0d10
mov ecx, dword [esi + 0x54]
call fcn.004d0d20
call fcn.004054e0
mov eax, dword [esi + 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, 4
mov dword [esi + 0x18], eax
call fcn.00437f10
mov eax, 0x4374ec
mov eax, esp
mov ecx, dword [esi + 0x18]
call fcn.004d0d30
mov eax, 0x400
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x10], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, 0x4372dc
mov eax, esp
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xc], eax
mov eax, ebx
mov eax, ecx
call fcn.00437f10
mov eax, 0x10
mov eax, esp
mov ecx, dword [esi + 0x18]
mov dword [esi + 8], eax
mov eax, ecx
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x18]
mov dword [esi + 4], eax
mov eax, ecx
call fcn.00437f10
mov edx, ebx
mov eax, esp
call fcn.004d0d40
mov edx, dword [esi + 0xa4]
mov dword [ecx], edx
mov edi, dword [esi + 0x10]
call fcn.004d0d50
mov dword [edi], ebx
mov ecx, dword [esi + 0xc]
call fcn.004d0d60
mov dword [ecx], edx
mov ecx, dword [esi + 8]
call fcn.004d0d70
mov dword [ecx], edx
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x90]
mov dword [ecx], edx
mov ecx, dword [edi]
sub esp, 8
mov edx, esp
call fcn.004d0d80
mov dword [edx], 0x87fc28
mov dword [esi], eax
call fcn.004b4ea0
mov ecx, 0
call fcn.004d0d90
mov dword [edx], eax
mov eax, dword [edx]
sub ecx, 1
sub eax, ecx
mov dword [edx], eax
jmp 0x4d0271
mov eax, dword [esi + 0x5c]
call fcn.004d0da0
mov ecx, dword [esi + 0x58]
mov dword [ecx], 0
mov edx, dword [esi + 0x70]
call fcn.004d0db0
mov edi, dword [esi + 0x60]
mov ebx, dword [edi]
sub esp, 0xc
mov eax, esp
call fcn.004d0dc0
call fcn.004d0dd0
mov dword [eax], ebx
mov dword [eax + 8], 0xffffffff
call fcn.00407990
jmp 0x4d04f0
jmp 0x4d070a