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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [esp], eax
push ebx
mov ebx, dword [eax*4 + 0x20a514c]
mov dword [esp + 0x10], ebx
push esi
push edi
test eax, eax
js 0x4d1487
cmp eax, 0x1194
jge 0x4d1487
cmp dword [ebx + 4], 3
jne 0x4d1487
movzx eax, word [ebx + 0x78]
cmp eax, 1
je 0x4d0eba
cmp eax, 6
jne 0x4d1487
cmp byte [ebx + 0xa], 0
jg 0x4d1487
cmp byte [ebx + 0x9c0], 0
jne 0x4d1487
test byte [ebx + 0x384], 3
jne 0x4d1487
cmp byte [ebx + 0x7a], 0
je 0x4d1487
movzx esi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl esi, 8
or esi, eax
cmp esi, 0x1194
jae 0x4d1487
mov esi, dword [esi*4 + 0x20a514c]
mov dword [esp + 0x28], esi
cmp word [esi + 0x78], 3
jne 0x4d1487
mov al, byte [ebx + 0x149]
cmp al, byte [esi + 0x149]
jne 0x4d1487
movsx eax, word [ebx + 0x146]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, eax
movsx eax, word [esi + 0x146]
cvtsi2ss xmm0, eax
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x56a7a0]
call fcn.005462f0
movsx eax, word [ebx + 0x144]
xorps xmm3, xmm3
movsd xmm1, qword [0x56a7a0]
xorps xmm2, xmm2
movsd qword [esp + 0x10], xmm0
cvtsi2ss xmm3, eax
movsx eax, word [esi + 0x144]
cvtsi2ss xmm2, eax
subss xmm3, xmm2
cvtps2pd xmm0, xmm3
call fcn.005462f0
addsd xmm0, qword [esp + 0x10]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4d0fa4
sqrtsd xmm0, xmm0
jmp 0x4d0fa9
call fcn.00547010
cvttsd2si eax, xmm0
cmp eax, 5
jg 0x4d1487
movzx eax, word [esi + 0xcc]
push eax
push 0x107
push ebx
call fcn.004f1ae0
movzx ecx, word [esi + 0xcc]
cmp ecx, dword [0xcd7350]
jne 0x4d1077
cmp word [ebx + 0x9fe], 0
jne 0x4d1077
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x379
push eax
lea eax, [esp + 0x2c]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x30]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4d101f
cmp dword [eax + 0x10], 0x379
jle 0x4d1021
mov eax, ecx
cmp eax, ecx
jne 0x4d1044
push 0x379
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4d1047
add eax, 0x18
push eax
push 0
push 0
push 0
push 0
push 0
push 1
push dword [ebx]
push 0xb90558
call fcn.004cdc70
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
xor edx, edx
mov edi, 0xad1670
mov dword [esp + 0x10], edx
mov eax, dword [edi - 4]
mov ebx, dword [edi]
cmp eax, ebx
je 0x4d10f0
nop dword [eax + eax]
cmp dword [eax], ecx
jne 0x4d10e5
mov edx, dword [eax + 4]
cmp edx, 0xffffffff
je 0x4d10a7
movzx ecx, byte [esi + 0x149]
cmp edx, ecx
jne 0x4d10de
mov edx, dword [eax + 8]
cmp edx, 0xffffffff
je 0x4d10ba
movsx ecx, word [esi + 0x144]
cmp edx, ecx
jne 0x4d10de
mov edx, dword [eax + 0xc]
cmp edx, 0xffffffff
je 0x4d10cd
movsx ecx, word [esi + 0x146]
cmp edx, ecx
jne 0x4d10de
mov ecx, dword [edi - 0x30]
cmp ecx, 1
je 0x4d11b8
cmp ecx, 2
je 0x4d1100
movzx ecx, word [esi + 0xcc]
add eax, 0x10
cmp eax, ebx
jne 0x4d1090
mov edx, dword [esp + 0x10]
inc edx
add edi, 0x3c
mov dword [esp + 0x10], edx
cmp edi, 0xad2de0
jl 0x4d1082
mov edi, dword [esp + 0x18]
push edi
push esi
call fcn.004512e0
test al, al
jne 0x4d1487
push edi
push esi
call fcn.004ce2e0
test al, al
jne 0x4d1487
movzx eax, word [esi + 0x2b4]
mov ecx, eax
test ax, ax
js 0x4d1487
cmp cx, 0x64
jge 0x4d1487
cmp dword [0xbda8f8], 1
jne 0x4d12cd
cmp byte [edi + 0x13d], 5
jl 0x4d12cd
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x35d
push eax
lea eax, [esp + 0x2c]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x30]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4d118d
cmp dword [eax + 0x10], 0x35d
jle 0x4d118f
mov eax, ecx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
cmp eax, ecx
jne 0x4d1234
push 0x35d
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4d1237
mov eax, dword [esp + 0x10]
shl eax, 4
sub eax, dword [esp + 0x10]
mov edi, dword [eax*4 + 0xad1658]
cmp edi, 0xffffffff
je 0x4d1487
lea eax, [esp + 0xc]
mov dword [esp + 0xc], edi
push eax
lea eax, [esp + 0x2c]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x30]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4d1200
cmp edi, dword [eax + 0x10]
jge 0x4d1202
mov eax, ecx
cmp eax, ecx
jne 0x4d1228
push edi
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4d147c
mov ecx, dword [esp + 0x18]
add eax, 0x18
jmp 0x4d147c
add eax, 0x18
mov edx, dword [esi]
mov ecx, edi
push eax
call fcn.004e92b0
add esp, 4
mov dword [esp + 0xc], 0x35d
lea eax, [esp + 0xc]
mov ecx, 0xa9b83c
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00405650
mov eax, dword [esp + 0x30]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4d1279
cmp dword [eax + 0x10], 0x35d
jle 0x4d127b
mov eax, ecx
cmp eax, ecx
jne 0x4d129a
push 0x35d
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4d129d
add eax, 0x18
push eax
push 0
push 0
push 0
push 0
push 0
push 1
push dword [edi]
push 0xb90558
call fcn.004cdc70
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
movsx ebx, ax
mov ecx, 0xbecd98
lea eax, [esp + 0x10]
mov dword [esp + 0x10], ebx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00405650
mov ecx, dword [esp + 0x24]
mov eax, dword [0xbecd98]
cmp byte [ecx + 0xd], 0
jne 0x4d12fc
cmp ebx, dword [ecx + 0x10]
jge 0x4d12fe
mov ecx, eax
cmp ecx, eax
je 0x4d141d
xor edx, edx
mov esi, 0x2000
add ecx, 0x30
lea ebx, [edx + 0x78]
movzx eax, word [ecx]
mov edi, eax
mov dword [esp + 0x10], edi
test ax, ax
js 0x4d1327
cmp ax, si
jge 0x4d1327
inc edx
add ecx, 0x10c
sub ebx, 1
jne 0x4d1313
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
test edx, edx
je 0x4d141d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0xdb8], eax
mov eax, dword [edi + 0x384]
and eax, 0xffff00c1
mov dword [esp + 0x28], 0x300bc3
or eax, 0xc1
mov dword [edi + 0x384], eax
lea eax, [esp + 0x28]
push 0xb
push eax
push dword [esp + 0x14]
call fcn.005192f0
mov ax, word [esi + 0x2b4]
mov ecx, 0xbecd98
mov word [edi + 0x2b2], ax
lea eax, [esp + 0x28]
movsx esi, word [esi + 0x2b4]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], esi
push eax
call fcn.00405650
mov ecx, dword [esp + 0x24]
mov eax, dword [0xbecd98]
cmp byte [ecx + 0xd], bl
jne 0x4d13bc
cmp esi, dword [ecx + 0x10]
jge 0x4d13be
mov ecx, eax
mov esi, dword [esp + 0xc]
cmp ecx, eax
je 0x4d13cf
push esi
add ecx, 0x28
call fcn.005066a0
mov ebx, dword [0x5d918c]
push esi
call fcn.00424cf0
test al, al
jne 0x4d13e9
push esi
call fcn.00424da0
test al, al
je 0x4d13eb
xor ebx, ebx
push 6
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0x1ab206c1
push eax
push esi
mov byte [esp + 0x38], 2
mov byte [esp + 0x39], bl
call fcn.005192f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0xf7
push eax
lea eax, [esp + 0x20]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x24]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4d1452
cmp dword [eax + 0x10], 0xf7
jle 0x4d1454
mov eax, ecx
cmp eax, ecx
jne 0x4d1477
push 0xf7
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4d147a
add eax, 0x18
mov ecx, edi
mov edx, dword [esi]
push eax
call fcn.004e92b0
add esp, 4
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8