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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov dword [esp], ecx
mov ecx, dword [edx + 4]
mov esi, dword [edx]
mov ebx, dword [edx + 8]
mov ebp, edx
call 0x4d38bc
pop eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov edx, ebx
push dword [esi + 0x50]
call fcn.004d36c0
add esp, 4
cmp eax, 0x5c
mov dword [esp + 0x98], eax
jne 0x4d4421
lea edi, [esi + 0x50]
mov ecx, ebp
movsd xmm0, qword [edi]
movsd qword [esp + 0x14], xmm0
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
call fcn.004d37a0
test al, al
je 0x4d3993
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], ebx
mov edx, ebx
push dword [edi]
call fcn.004d36c0
add esp, 4
mov ebx, eax
and eax, 0x1ffff8
cmp eax, 0x30
jne 0x4d39e7
cmp byte [esi + 0x65], 0
je 0x4d3ad0
lea ecx, [esp + 0x58]
mov edx, ebp
call fcn.004e4ec0
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x14]
mov dword [esp + 0x64], eax
movsd qword [esp + 0x5c], xmm0
mov eax, dword [esp]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
movsd qword [eax + 0x2c], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [eax + 0x24], xmm0
movsd qword [eax + 0x1c], xmm2
movsd qword [eax + 0x14], xmm1
mov dword [eax + 0x10], 0x80000002
mov dword [eax], 0x22
jmp 0x4d3f36
mov eax, dword [edi + 8]
movsd xmm1, qword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [edi]
movsd qword [esp + 0x64], xmm0
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x60], eax
je 0x4d3a83
js 0x4d4444
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, ebx
call fcn.0051b940
mov esi, ebx
mov ebx, eax
test eax, eax
jne 0x4d3a8a
jmp 0x4d4449
mov eax, ebx
and eax, 0x1ffffe
cmp eax, 0x38
jne 0x4d3bc4
cmp byte [esi + 0x65], 0
je 0x4d3ad0
mov ecx, ebp
call fcn.004d37a0
mov eax, dword [edi + 8]
movsd xmm1, qword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [edi]
movsd qword [esp + 0x2c], xmm0
mov dword [esp + 0x28], eax
lea eax, [ebx - 0x23]
movsd qword [esp + 0x20], xmm1
cmp eax, 0x5b
ja 0x4d3f41
mov eax, dword [eax*4 + 0x4d4540]
add eax, dword [esp + 0xc]
jmp eax
mov esi, ebx
mov ebx, 1
push esi
push dword [esp + 0xc]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x60]
mov eax, dword [esp]
movsd xmm0, qword [esp + 0x58]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x38], xmm1
mov dword [eax], 0xa
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], esi
jmp 0x4d3f36
mov ebx, dword [esp + 0x10]
mov edi, dword [edi]
mov ecx, dword [esp + 8]
mov edx, ebx
push edi
call fcn.004d36c0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4d3b0a
mov ecx, 2
cmp eax, 0x800
jb 0x4d3b0a
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add edi, ecx
jb 0x4d4455
mov ebp, dword [esi + 0x58]
mov dword [esp + 0xc], edi
inc ebp
je 0x4d445f
mov edi, dword [esi + 0x54]
mov ecx, dword [esp + 8]
mov edx, ebx
push dword [esi + 0x50]
call fcn.004d36c0
add esp, 4
xor ecx, ecx
cmp eax, 0xa
mov esi, ebx
mov ebx, 1
sete al
cmove ebp, ebx
test esi, esi
je 0x4d3b7c
mov byte [esp + 7], al
js 0x4d4444
movzx eax, byte [0x5b9430]
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov edx, esi
call fcn.0051b940
mov ebx, eax
test eax, eax
movzx eax, byte [esp + 7]
mov ecx, 0
je 0x4d4449
mov cl, al
add edi, ecx
push esi
push dword [esp + 0xc]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
movsd qword [ecx + 0x28], xmm0
mov dword [ecx + 0x30], eax
mov dword [ecx], 0x20
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], ebp
jmp 0x4d3f36
lea eax, [ebx - 0x44]
cmp eax, 0x34
ja 0x4d3a01
mov eax, dword [eax*4 + 0x4d446c]
add eax, dword [esp + 0xc]
jmp eax
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.004e4800
test al, al
je 0x4d3f86
movsd xmm0, qword [esp + 0x30]
mov eax, dword [esp]
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x20], xmm1
movsd qword [eax + 0x18], xmm2
mov dword [eax + 0x10], 0x80000002
mov dword [eax + 0x14], ebx
mov byte [eax + 0x30], 2
mov dword [eax], 0x22
jmp 0x4d3f36
add ebx, 0xffffffc4
cmp ebx, 0x3e
ja 0x4d3fd5
mov eax, dword [esp + 0xc]
add eax, dword [ebx*4 + 0x4d46b0]
jmp eax
mov edx, dword [esp + 8]
lea eax, [esp + 0x98]
mov dword [esp + 0x98], 0xb
lea esi, [esp + 0x20]
lea ecx, [esp + 0x58]
push eax
push esi
push dword [esp + 0x18]
call fcn.004db720
add esp, 0xc
mov eax, dword [esp]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x90]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
jmp 0x4d3f36
mov dword [esp + 0x58], 0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x98]
mov edx, 0x5a46bc
push 0x559818
push eax
call fcn.00545330
call fcn.0044e3c0
mov ecx, 1
mov edx, esi
call fcn.0053b730
mov ecx, 0x55952c
call fcn.0053bf10
mov ecx, 0x55953c
call fcn.0053bf10
nop dword [eax]
and dword [ebx], eax
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebx], ch
add al, 0
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
ja 0x4d44b5
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ebp + 1], al
add byte [eax], al
sub eax, dword [eax + eax]
add byte [ebp + 1], al
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [ebp + 1], al
add byte [eax], al
ja 0x4d4535
add byte [eax], al
inc ebp
add dword [eax], eax
add byte [ecx], ah
add eax, dword [eax]
add byte [edi + 3], dh
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
test dword [esi], eax
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
mov al, byte [ecx]
add byte [eax], al
fild word [esi]
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
lodsd eax, dword [esi]
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
out 7, eax
add byte [eax], al
and dword [eax], ecx
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
pop ebx
or byte [eax], al
add byte [esi + 0x19000008], bl
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
insd dword es:[edi], dx
or dword [eax], eax
add byte [ecx], bl
pop es
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
mov al, 9
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
or dword [eax], eax
add byte [ecx], bl
pop es
add byte [eax], al
or al, byte ss:[eax]
add byte [ecx], bl
pop es
add byte [eax], al
jns 0x4d47a4
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
sbb dword [edi], eax
add byte [eax], al
mov esp, 0xcc00000a
int3