Function at 0x100054b0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10050725
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x10066040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edx, edx
cmp byte [0x100dc80b], dl
je 0x10005533
mov ecx, 0xb2
nop word [eax + eax]
mov al, byte [edx + 0x1005b64c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000550d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x100054f0
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005581
mov ecx, 0x40
nop dword [eax + eax]
mov al, byte [edx + 0x1005b660]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000555d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x10005540
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 1
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc807], dl
je 0x100055d3
mov ecx, 0x3e
mov al, byte [edx + str.zM_6]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x100055ad
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x10005590
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005621
mov ecx, 0x31
nop dword [eax + eax]
mov al, byte [edx + str.u_RCcY_MT_Z__42br]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x100055fd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x100055e0
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc808], dl
je 0x10005673
mov ecx, 6
mov al, byte [edx + str._AgnOemobj0_]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000564d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x10005630
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 4
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x100056c1
mov ecx, 0x9d
nop dword [eax + eax]
mov al, byte [edx + 0x1005b6ac]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000569d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x10005680
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 5
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc805], dl
je 0x10005713
mov ecx, 0xbc
mov al, byte [edx + 0x1005b6bc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x100056ed
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x100056d0
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005761
mov ecx, 0x4c
nop dword [eax + eax]
mov al, byte [edx + str.g_t_.6ug]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x1000573d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x10005720
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 7
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc7fe], dl
je 0x100057b3
mov ecx, 0x6a
mov al, byte [edx + 0x1005b6d4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000578d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10005770
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 8
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005801
mov ecx, 0x70
nop dword [eax + eax]
mov al, byte [edx + 0x1005b6e4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x100057dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x100057c0
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 9
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc804], dl
je 0x10005853
mov ecx, 0x2d
mov al, byte [edx + 0x1005b6f4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000582d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x10005810
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x100058a1
mov ecx, 1
nop dword [eax + eax]
mov al, byte [edx + str.Q_v_ciOeeIcomt2]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000587d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x10005860
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc80c], dl
je 0x100058f3
mov ecx, 0x31
mov al, byte [edx + 0x1005b71c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x100058cd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x100058b0
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005941
mov ecx, 0x62
nop dword [eax + eax]
mov al, byte [edx + 0x1005b730]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000591d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10005900
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor edx, edx
cmp byte [0x100dc806], dl
je 0x10005993
mov ecx, 0x5c
mov al, byte [edx + str.we3_f]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000596d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10005950
mov byte [ebp - 0x13], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x100059e1
mov ecx, 0x2c
nop dword [eax + eax]
mov al, byte [edx + str._ak_C_s_ZS_B]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x100059bd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x100059a0
mov byte [ebp - 0x13], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
cmp byte [0x100dc7ff], 0
mov dword [ebp - 0x1c], 0x776f6853
mov dword [ebp - 0x18], 0x20445548
je 0x10005a1a
mov word [ebp - 0x14], 0x30
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005a3a
mov word [ebp - 0x14], 0x31
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
cmp byte [0x100dc809], 0
mov dword [ebp - 0x1c], 0x6172542b
mov dword [ebp - 0x18], 0x73726563
mov byte [ebp - 0x12], 0
je 0x10005a77
mov word [ebp - 0x14], 0x3120
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
jmp 0x10005a97
mov word [ebp - 0x14], 0x3020
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [0x100672ac]
call eax
add esp, 4
xor eax, eax
mov ebx, 0x6a
cmp byte [0x100dc80a], al
setne al
mov dword [0x38452cb8], eax
lea eax, [ebp - 0x28]
cmp byte [0x100672a9], 0
mov esi, dword [0x100dc898]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 2
push esi
je 0x10005ad1
call edi
mov word [esi], bx
jmp 0x10005adb
call edi
mov eax, 0x16a
mov word [esi], ax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
push 2
push esi
call edi
cmp byte [0x100dc835], 0
lea eax, [ebp - 0x28]
mov esi, dword [0x100673c8]
push eax
push 0x40
push 2
push esi
je 0x10005b06
call edi
mov word [esi], bx
jmp 0x10005b10
call edi
mov eax, 0x46a
mov word [esi], ax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
push 2
push esi
call edi
cmp byte [0x100672aa], 0
lea eax, [ebp - 0x28]
mov esi, dword [0x100673c4]
push eax
push 0x40
push 2
push esi
je 0x10005b40
call edi
mov eax, 0x16a
mov word [esi], ax
jmp 0x10005b45
call edi
mov word [esi], bx
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
push 2
push esi
call edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004c2e6
mov esp, ebp
pop ebp
ret