Function at 0x4bb930
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x57b103
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5e95e0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0xc]
lea edi, [eax + ecx]
mov esi, ebp
mov dword [esp + 0x1c], ecx
call fcn.00459ef0
xor edi, edi
cmp dword [ebx + 0xc], edi
mov dword [esp + 0x40], edi
jg 0x4bb99a
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x40]
mov ebx, ecx
push 0x68
call fcn.005308cb
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x38], 0
je 0x4bb9bc
push eax
call fcn.004bc330
jmp 0x4bb9be
xor eax, eax
mov ecx, dword [esp + 0x1c]
lea esi, [edi + ecx]
test esi, esi
mov dword [esp + 0x38], 0xffffffff
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
test edi, edi
mov edx, dword [ebp + 4]
lea ecx, [edx + esi*4]
mov dword [ecx], eax
jl 0x4bc324
cmp edi, dword [ebx + 0xc]
jge 0x4bc324
mov edx, dword [ebx + 8]
lea eax, [edi + edi*2]
shl eax, 4
add edx, eax
test esi, esi
mov dword [esp + 0x14], eax
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov eax, dword [ebp + 4]
lea eax, [eax + esi*4]
mov eax, dword [eax]
add edx, 4
push edx
mov ecx, eax
call fcn.00402310
cmp edi, dword [ebx + 0xc]
jge 0x4bc324
mov ecx, dword [esp + 0x44]
mov edi, dword [ecx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bba89
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov edx, dword [edi + 0xc]
lea eax, [edx + ebx*4]
mov eax, dword [eax]
push 0x5b75b8
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bba7a
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bba45
jmp 0x4bba89
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov eax, dword [edi + 0x20]
lea edi, [eax + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
lea eax, [ecx + esi*4]
mov ecx, dword [eax]
add ecx, 0xc
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
mov ebx, dword [edx + esi*4]
lea eax, [edx + esi*4]
add ebx, 0xc
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cmp eax, dword [ecx + 0xc]
jge 0x4bc324
mov edx, ecx
mov edi, dword [edx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbb39
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov eax, dword [edi + 0xc]
lea eax, [eax + ebx*4]
mov eax, dword [eax]
push str.ExeFile
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbb2a
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbaf5
jmp 0x4bbb39
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov ecx, dword [edi + 0x20]
lea edi, [ecx + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
mov ecx, dword [edx + esi*4]
lea eax, [edx + esi*4]
add ecx, 4
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov eax, dword [ebp + 4]
mov ebx, dword [eax + esi*4]
lea eax, [eax + esi*4]
add ebx, 4
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
cmp ecx, dword [edx + 0xc]
jge 0x4bc324
mov eax, edx
mov edi, dword [eax + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbbea
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov ecx, dword [edi + 0xc]
lea eax, [ecx + ebx*4]
mov eax, dword [eax]
push str.RunPara
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbbdb
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbba6
jmp 0x4bbbea
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov edx, dword [edi + 0x20]
lea edi, [edx + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov eax, dword [ebp + 4]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
add ecx, 8
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
add ebx, 8
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
cmp edx, dword [eax + 0xc]
jge 0x4bc324
mov ecx, eax
mov edi, dword [ecx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbc9b
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov edx, dword [edi + 0xc]
lea eax, [edx + ebx*4]
mov eax, dword [eax]
push str.Icon
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbc8c
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbc57
jmp 0x4bbc9b
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov eax, dword [edi + 0x20]
lea edi, [eax + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
lea eax, [ecx + esi*4]
mov ecx, dword [eax]
add ecx, 0x10
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
mov ebx, dword [edx + esi*4]
lea eax, [edx + esi*4]
add ebx, 0x10
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cmp eax, dword [ecx + 0xc]
jge 0x4bc324
mov edx, ecx
mov edi, dword [edx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbd4b
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov eax, dword [edi + 0xc]
lea eax, [eax + ebx*4]
mov eax, dword [eax]
push str.WndClass
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbd3c
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbd07
jmp 0x4bbd4b
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov ecx, dword [edi + 0x20]
lea edi, [ecx + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
mov ecx, dword [edx + esi*4]
lea eax, [edx + esi*4]
add ecx, 0x14
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov eax, dword [ebp + 4]
mov ebx, dword [eax + esi*4]
lea eax, [eax + esi*4]
add ebx, 0x14
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
cmp ecx, dword [edx + 0xc]
jge 0x4bc324
mov eax, edx
mov edi, dword [eax + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbdfc
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov ecx, dword [edi + 0xc]
lea eax, [ecx + ebx*4]
mov eax, dword [eax]
push str.WndTitle
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbded
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbdb8
jmp 0x4bbdfc
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov edx, dword [edi + 0x20]
lea edi, [edx + ebx*4]
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov eax, dword [ebp + 4]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
add ecx, 0x18
push edi
call fcn.00402310
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
add ebx, 0x18
call fcn.00409830
mov edi, eax
call fcn.004098b0
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp ecx, dword [ebx + 0xc]
mov edx, dword [ebp + 4]
lea eax, [edx + esi*4]
jge 0x4bc324
mov edx, dword [eax]
mov edi, dword [ebx + 8]
add edi, dword [esp + 0x14]
add edx, 0x34
push edx
push 0x5b7614
call fcn.00471de0
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [esp + 0x40]
cmp ecx, dword [ebx + 0xc]
mov eax, dword [ebp + 4]
lea eax, [eax + esi*4]
jge 0x4bc324
mov edx, dword [eax]
mov edi, dword [ebx + 8]
add edi, dword [esp + 0x14]
add edx, 0x48
push edx
push str.REFURL
call fcn.00471de0
mov eax, dword [esp + 0x40]
cmp eax, dword [ebx + 0xc]
jge 0x4bc324
mov ecx, ebx
mov edi, dword [ecx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bbf23
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov edx, dword [edi + 0xc]
lea eax, [edx + ebx*4]
mov eax, dword [eax]
push str.Exit
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bbf14
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bbedf
jmp 0x4bbf23
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov eax, dword [edi + 0x20]
lea edi, [eax + ebx*4]
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.004020f0
add eax, 0x10
add esp, 4
mov dword [esp + 0x18], eax
lea ebx, [esp + 0x18]
mov dword [esp + 0x38], 1
call fcn.00409830
mov edi, eax
call fcn.004098b0
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 4]
push edx
lea edi, [ecx + esi*4]
call fcn.00552f5b
mov ecx, dword [edi]
add esp, 4
test esi, esi
mov dword [ecx + 0x1c], eax
jl 0x4bc324
mov ecx, dword [ebp + 8]
cmp esi, ecx
jge 0x4bc324
mov eax, dword [ebp + 4]
mov edx, dword [eax + esi*4]
cmp dword [edx + 0x1c], 0
jge 0x4bbfb3
test esi, esi
jl 0x4bc324
cmp esi, ecx
jge 0x4bc324
mov eax, edx
mov dword [eax + 0x1c], 0
jmp 0x4bbfe4
test esi, esi
jl 0x4bc324
cmp esi, ecx
jge 0x4bc324
mov edi, edx
mov edx, 2
cmp dword [edi + 0x1c], edx
jle 0x4bbfe4
test esi, esi
jl 0x4bc324
cmp esi, ecx
jge 0x4bc324
mov ecx, edi
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
cmp edx, dword [eax + 0xc]
jge 0x4bc324
mov ecx, eax
mov edi, dword [ecx + 8]
add edi, dword [esp + 0x14]
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jle 0x4bc049
test ebx, ebx
jl 0x4bc324
cmp ebx, dword [edi + 0x10]
jge 0x4bc324
mov edx, dword [edi + 0xc]
lea eax, [edx + ebx*4]
mov eax, dword [eax]
push str.BindSide
push eax
call fcn.005522fc
add esp, 8
test eax, eax
je 0x4bc03a
add ebx, 1
cmp ebx, dword [edi + 0x10]
jl 0x4bc005
jmp 0x4bc049
cmp ebx, dword [edi + 0x24]
jge 0x4bc324
mov eax, dword [edi + 0x20]
lea edi, [eax + ebx*4]
push edi
lea ecx, [esp + 0x1c]
call fcn.00402310
lea ebx, [esp + 0x18]
call fcn.00409830
mov edi, eax
call fcn.004098b0
mov ecx, dword [esp + 0x18]
push str.TRUE
push ecx
call fcn.005522fc
add esp, 8
test eax, eax
jne 0x4bc09d
xor edi, edi
cmp esi, edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
lea eax, [edx + esi*4]
mov eax, dword [eax]
mov dword [eax + 0x20], 1
jmp 0x4bc0c0
test esi, esi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
mov dword [edx + 0x20], 0
xor edi, edi
cmp esi, edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov eax, dword [ebp + 4]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
mov dword [ecx + 0x24], edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov edx, dword [ebp + 4]
lea eax, [edx + esi*4]
mov eax, dword [eax]
mov dword [eax + 0x28], edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
mov dword [edx + 0x2c], edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov eax, dword [ebp + 4]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
mov dword [ecx + 0x30], edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x48]
lea eax, [edx + esi*4]
mov eax, dword [eax]
mov dword [eax + 0x5c], ecx
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
cmp esi, edi
mov edx, dword [ebp + 4]
lea eax, [edx + esi*4]
mov eax, dword [eax]
mov dword [eax + 0x64], edi
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + esi*4]
lea eax, [ecx + esi*4]
mov eax, dword [edx + 0x60]
cmp dword [eax - 0xc], edi
jne 0x4bc2df
push str.PlugApp_
lea ecx, [esp + 0x30]
push 0x5f2868
push ecx
call fcn.00401ba0
add esp, 0xc
cmp esi, edi
mov byte [esp + 0x38], 2
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov edx, dword [ebp + 4]
lea ecx, [edx + esi*4]
mov ecx, dword [ecx]
add ecx, 0xc
push ecx
push eax
lea edx, [esp + 0x30]
push edx
call fcn.00401ae0
push 0x5958a8
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x50], 3
call fcn.00401ba0
add esp, 0x18
cmp esi, edi
mov ebx, 4
mov byte [esp + 0x38], bl
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + esi*4]
lea ecx, [ecx + esi*4]
add edx, ebx
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00401ae0
add esp, 0xc
cmp esi, edi
mov byte [esp + 0x38], 5
jl 0x4bc324
cmp esi, dword [ebp + 8]
jge 0x4bc324
mov ecx, dword [ebp + 4]
lea esi, [ecx + esi*4]
mov ecx, dword [esi]
add ecx, 0x60
push eax
call fcn.00402310
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4bc270
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x38], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bc295
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bc2ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bc2df
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4bc307
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add eax, 1
cmp eax, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
jl 0x4bb994
jmp 0x4bb97e
call fcn.00530cad
int3