Function at 0x404fc0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6211ff
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x580
mov eax, dword [0x6b6538]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x574], edi
mov eax, dword [ebx + 8]
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x58c], 0
mov byte [ebp - 0x57c], 0
call fcn.004062d0
mov ecx, eax
call fcn.0041e90a
lea eax, [ebp - 0x104]
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041e389
mov dword [ebp - 4], 0
lea eax, [ebp - 0x104]
cmp dword [ebp - 0xf0], 8
cmovae eax, dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.0041b6b2
add esp, 8
mov byte [ebp - 4], 1
call fcn.00418212
test al, al
je 0x4050e9
mov eax, dword [0x6c5ea0]
test eax, eax
je 0x4050e9
cmp dword [eax + 4], 4
jl 0x4050e9
push str.1011
call fcn.004180bf
sub esp, 8
lea ecx, [ebp - 0x358]
mov edi, eax
push 0x88
sub esp, 8
call fcn.00404000
mov esi, eax
test edi, edi
mov byte [ebp - 4], 2
mov ecx, str._null_
cmovne ecx, edi
push ecx
lea ecx, [esi + 0x30]
push ecx
call fcn.0040a260
mov ecx, dword [0x6c5ea0]
add esp, 8
push esi
call fcn.00406390
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 1
call fcn.00404300
mov edi, dword [ebp - 0x574]
mov eax, dword [edi + 8]
xor edx, edx
mov esi, dword [edi + 4]
mov ecx, eax
sub ecx, esi
xor edi, edi
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x56c], ecx
test ecx, ecx
je 0x40512a
mov eax, ecx
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x405122
mov eax, dword [ecx]
push 0
call dword [eax]
mov eax, dword [ebp - 0x56c]
inc edi
add esi, 4
cmp edi, eax
jne 0x405110
cmp dword [ebp - 0xf0], 8
lea eax, [ebp - 0x104]
cmovae eax, dword [ebp - 0x104]
push eax
call fcn.0041bc71
add esp, 4
lea edi, [ebp - 0x164]
cmp dword [ebp - 0x150], 0x10
cmovae edi, dword [ebp - 0x164]
push 0xa
push 1
call fcn.00406210
mov ecx, eax
call fcn.00413af5
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x405f66
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x405f66
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov dword [ebp - 0x56c], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp - 0x56c]
test ecx, ecx
je 0x405f66
test eax, eax
je 0x405f66
push 0
push 0
push edi
push eax
push ecx
call fcn.004bac90
test eax, eax
jne 0x405f66
lea eax, [ebp - 0x204]
push eax
call fcn.004046e0
sub esp, 0x18
mov byte [ebp - 4], 3
lea eax, [ebp - 0x204]
mov dword [ebp - 0x570], esp
mov ecx, esp
push eax
call fcn.00402b40
mov byte [ebp - 4], 4
call fcn.004062d0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0041ea45
cmp dword [ebp - 0xf0], 8
lea eax, [ebp - 0x104]
cmovae eax, dword [ebp - 0x104]
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041e995
call fcn.004117ed
lea ecx, [ebp - 0x250]
call fcn.00411fe3
push 0
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 5
call fcn.0041df20
lea ecx, [ebp - 0x18c]
call fcn.00411f95
mov byte [ebp - 4], 6
mov esi, dword [0x6c5fcc]
test esi, esi
jne 0x4052d5
push 0x6c5f68
mov dword [ebp - 0x570], 0x6c5f68
call fcn.004c4a54
add esp, 4
test eax, eax
je 0x405287
push eax
call fcn.004c5284
add esp, 4
mov byte [ebp - 4], 7
mov esi, dword [0x6c5fcc]
test esi, esi
jne 0x4052b3
push 4
call fcn.0050d157
mov esi, eax
add esp, 4
mov dword [ebp - 0x56c], esi
mov dword [esi], vtable.HttpGetImpl.0
mov dword [0x6c5fcc], esi
push 0x6c5f68
mov byte [ebp - 4], 8
call fcn.004c4a79
add esp, 4
test eax, eax
je 0x4052d1
push eax
call fcn.004c5284
add esp, 4
mov byte [ebp - 4], 6
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.0041cc5b
sub esp, 0x18
lea eax, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x590], esp
push eax
call fcn.00402b40
sub esp, 0xc
mov byte [ebp - 4], 9
mov edi, esp
mov eax, 0x2aaaaaab
mov dword [ebp - 0x56c], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x170]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x405416
cmp eax, 0xaaaaaaa
ja 0x4060e4
lea esi, [eax + eax*2]
shl esi, 3
cmp esi, 0x1000
jb 0x405389
lea eax, [esi + 0x23]
or ecx, 0xffffffff
cmp eax, esi
cmovbe eax, ecx
push eax
call fcn.0050d157
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4060e9
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x40539a
test esi, esi
je 0x405398
push esi
call fcn.0050d157
add esp, 4
jmp 0x40539a
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov eax, dword [edi]
add eax, esi
mov dword [edi + 8], eax
mov esi, dword [edi]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x56c]
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x588], esi
mov dword [ebp - 0x584], esi
mov dword [ebp - 0x580], eax
mov byte [ebp - 4], 0xa
cmp edi, ecx
je 0x4053fc
nop word [eax + eax]
push edi
mov ecx, esi
call fcn.00406670
add esi, 0x18
add edi, 0x18
mov dword [ebp - 0x584], esi
cmp edi, dword [ebp - 0x570]
jne 0x4053e0
push ecx
mov edx, esi
mov byte [ebp - 4], 9
mov ecx, esi
call fcn.0040a760
mov eax, dword [ebp - 0x56c]
add esp, 4
mov dword [eax + 4], esi
mov byte [ebp - 4], 6
call fcn.00404cf0
movzx edi, al
push edi
call fcn.004062d0
mov ecx, eax
call fcn.0041eac4
lea eax, [ebp - 0x11c]
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041e389
push str.md5Tool.exe
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0xb
call fcn.00409210
lea eax, [ebp - 0xec]
push str.CMD_SILENCE_INSTALLED
push eax
call fcn.004146ee
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0xc
push str.CMD_SMALLPKG_INST
push eax
call fcn.004146ee
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xd
push str.CMD_FORCE_INSTALL
push eax
call fcn.004146ee
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0xe
push str.CMD_PARENT_PROCESS_NAME
push eax
call fcn.004146ee
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xf
push str.CMD_RUNTIME_INST_COMPLETE
push eax
call fcn.004146ee
add esp, 0x28
mov ecx, dword [ebp - 0x578]
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0xd8], 8
cmovae eax, dword [ebp - 0xec]
push eax
call fcn.004137fe
test al, al
je 0x4054fc
cmp dword [ebp - 0xd8], 8
lea edx, [ebp - 0xec]
cmovae edx, dword [ebp - 0xec]
jmp 0x405501
mov edx, 0x6a18f4
mov ecx, edx
mov dword [ebp - 0x94], 0
xor eax, eax
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405523
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xa4]
call fcn.00402c20
mov byte [ebp - 4], 0x11
call fcn.004062d0
mov ecx, eax
call fcn.0041e90e
test al, al
je 0x405569
cmp dword [ebp - 0x138], 8
lea edx, [ebp - 0x14c]
cmovae edx, dword [ebp - 0x14c]
jmp 0x40556e
mov edx, 0x6a2c40
mov ecx, edx
mov dword [ebp - 0x7c], 0
xor eax, eax
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405590
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x8c]
call fcn.00402c20
mov ecx, dword [ebp - 0x578]
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0xc0], 8
cmovae eax, dword [ebp - 0xd4]
push eax
call fcn.004137fe
test al, al
je 0x4055ea
cmp dword [ebp - 0xc0], 8
lea edx, [ebp - 0xd4]
cmovae edx, dword [ebp - 0xd4]
jmp 0x4055ef
mov edx, 0x6a18f4
mov ecx, edx
mov dword [ebp - 0x64], 0
xor eax, eax
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405610
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.00402c20
mov ecx, dword [ebp - 0x578]
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0xa8], 8
cmovae eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00412d08
mov byte [ebp - 4], 0x14
test edi, edi
je 0x405674
lea eax, [ebp - 0x1ec]
push str.CMD_UNDER_REVIEW
push eax
call fcn.004146ee
add esp, 8
mov ecx, 1
jmp 0x4056ad
xor eax, eax
mov dword [ebp - 0x194], 0
push eax
push 0x6a18f4
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x190], 7
mov word [ebp - 0x1a4], ax
call fcn.00402c20
lea eax, [ebp - 0x1a4]
mov ecx, 2
mov dword [ebp - 0x4c], 0
xor edx, edx
mov dword [ebp - 0x48], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], dx
mov dword [ebp - 4], 0x16
test cl, 2
je 0x40573a
mov edx, dword [ebp - 0x190]
and ecx, 0xfffffffd
mov dword [ebp - 0x570], ecx
cmp edx, 8
jb 0x40573a
mov ecx, dword [ebp - 0x1a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40572a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060e9
push edx
push ecx
call fcn.0050d502
mov ecx, dword [ebp - 0x570]
add esp, 8
mov byte [ebp - 4], 0x17
test cl, 1
je 0x4057a0
mov edx, dword [ebp - 0x1d8]
cmp edx, 8
jb 0x405783
mov ecx, dword [ebp - 0x1ec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405779
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060ee
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 7
mov word [ebp - 0x1ec], ax
cmp dword [ebp - 0x1c], 0
ja 0x4058ca
xor eax, eax
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 7
mov word [ebp - 0x1d4], ax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], 7
mov word [ebp - 0x1bc], ax
push eax
push 0x6a18f4
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x19
call fcn.00402c20
push 0
push 0x6a18f4
lea ecx, [ebp - 0x1bc]
call fcn.00402c20
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x1a
call fcn.00401a40
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00402b40
lea ecx, [ebp - 0x2c]
call fcn.00402a10
movups xmm0, xmmword [ebp - 0x21c]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [ebp - 0x20c]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x1a8]
movq qword [ebp - 0x1c], xmm0
cmp edx, 8
jb 0x40588a
mov ecx, dword [ebp - 0x1bc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405880
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060f3
push edx
push ecx
call fcn.0050d502
add esp, 8
mov edx, dword [ebp - 0x1c0]
cmp edx, 8
jb 0x4058ca
mov ecx, dword [ebp - 0x1d4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4058c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060f8
push edx
push ecx
call fcn.0050d502
add esp, 8
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
lea edi, [ebp - 0xbc]
cmovae eax, dword [ebp - 0x5c]
lea esi, [ebp - 0xa4]
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x74]
mov dword [ebp - 0x570], eax
lea ecx, [ebp - 0x8c]
push dword [ebp - 0x570]
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
cmp dword [ebp - 0xa8], 8
mov dword [ebp - 0x56c], eax
lea eax, [ebp - 0x134]
cmovae edi, dword [ebp - 0xbc]
cmp dword [ebp - 0x90], 8
push dword [ebp - 0x56c]
cmovae esi, dword [ebp - 0xa4]
cmp dword [ebp - 0x60], 8
push edi
cmovae edx, dword [ebp - 0x74]
cmp dword [ebp - 0x78], 8
push esi
cmovae ecx, dword [ebp - 0x8c]
cmp dword [ebp - 0x120], 8
push edx
cmovae eax, dword [ebp - 0x134]
push 1
push ecx
push eax
lea eax, [ebp - 0x44]
push str._s__s_d__s__s__s_s__s
push eax
call fcn.0041affd
add esp, 0x28
mov byte [ebp - 4], 0x1b
call fcn.00418212
test al, al
je 0x405a24
mov eax, dword [0x6c5ea0]
test eax, eax
je 0x405a24
cmp dword [eax + 4], 4
jl 0x405a24
cmp dword [ebp - 0x30], 8
lea edi, [ebp - 0x44]
push str.1161
cmovae edi, dword [ebp - 0x44]
call fcn.004180bf
sub esp, 8
lea ecx, [ebp - 0x460]
mov esi, eax
push 0xbd
sub esp, 8
call fcn.00404000
mov dword [ebp - 0x570], eax
test esi, esi
mov byte [ebp - 4], 0x1c
mov ecx, str._null_
cmovne ecx, esi
lea esi, [eax + 0x30]
push ecx
push esi
call fcn.0040a260
test edi, edi
mov eax, str._null_
cmovne eax, edi
push eax
push esi
call fcn.0040a260
mov edi, dword [0x6c5ea0]
add esp, 0x10
mov esi, dword [edi + 8]
cmp esi, dword [edi + 0xc]
je 0x405a15
nop dword [eax]
mov ecx, dword [esi]
push dword [ebp - 0x570]
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, dword [edi + 0xc]
jne 0x405a00
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x1b
call fcn.00404300
cmp dword [ebp - 0x108], 8
lea ecx, [ebp - 0x11c]
push 0
cmovae ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push 0xffffffffffffffff
cmovae eax, dword [ebp - 0x44]
push 1
push ecx
push eax
call fcn.0041cb23
mov byte [ebp - 4], 0x17
add esp, 0x14
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x57c], 1
cmp edx, 8
jb 0x405a98
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405a8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4060fd
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
cmp edx, 8
jb 0x405aea
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405ae0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406102
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
cmp edx, 8
jb 0x405b3c
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405b32
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406107
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp edx, 8
jb 0x405b8e
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405b84
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40610c
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
cmp edx, 8
jb 0x405be3
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405bd9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406111
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x405c3e
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405c34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406116
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp edx, 8
jb 0x405c9f
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405c95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40611b
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 7
mov word [ebp - 0x134], ax
cmp edx, 8
jb 0x405d00
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405cf6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406120
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x405d61
mov ecx, dword [ebp - 0xd4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405d57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406125
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
mov word [ebp - 0xd4], ax
cmp edx, 8
jb 0x405dc2
mov ecx, dword [ebp - 0x14c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405db8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40612a
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 7
mov word [ebp - 0x14c], ax
cmp edx, 8
jb 0x405e23
mov ecx, dword [ebp - 0xec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405e19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40612f
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 7
mov word [ebp - 0xec], ax
cmp edx, 8
jb 0x405e84
mov ecx, dword [ebp - 0x11c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405e7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406134
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
mov dword [ebp - method.CParsePureSoftCfg.virtual_0], vtable.CParsePureSoftCfg.0
call fcn.00409190
mov edx, dword [ebp - 0x174]
cmp edx, 8
jb 0x405efa
mov ecx, dword [ebp - 0x188]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405ef0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406139
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov dword [ebp - 0x178], 0
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x174], 7
mov word [ebp - 0x188], ax
call fcn.0041d497
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x1f0]
cmp edx, 8
jb 0x405f66
mov ecx, dword [ebp - 0x204]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405f5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40613e
push edx
push ecx
call fcn.0050d502
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x574]
xor edx, edx
xor edi, edi
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov ecx, eax
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x574], ecx
test ecx, ecx
je 0x405fbf
mov eax, ecx
nop dword [eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x405fb7
mov eax, dword [ecx]
push dword [ebp - 0x57c]
call dword [eax + 4]
mov eax, dword [ebp - 0x574]
inc edi
add esi, 4
cmp edi, eax
jne 0x405fa0
call fcn.00418212
test al, al
je 0x40602d
mov eax, dword [0x6c5ea0]
test eax, eax
je 0x40602d
cmp dword [eax + 4], 4
jl 0x40602d
push str.1012
call fcn.004180bf
sub esp, 8
lea ecx, [ebp - 0x568]
mov edi, eax
push 0xc4
sub esp, 8
call fcn.00404000
mov esi, eax
test edi, edi
mov byte [ebp - 4], 0x1d
mov eax, str._null_
lea ecx, [esi + 0x30]
cmovne eax, edi
push eax
push ecx
call fcn.0040a260
mov ecx, dword [0x6c5ea0]
add esp, 8
push esi
call fcn.00406390
lea ecx, [ebp - 0x568]
call fcn.00404300
mov edx, dword [ebp - 0x150]
cmp edx, 0x10
jb 0x406067
mov ecx, dword [ebp - 0x164]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40605d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406143
push edx
push ecx
call fcn.0050d502
add esp, 8
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
cmp edx, 8
jb 0x4060c2
mov ecx, dword [ebp - 0x104]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4060b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406148
push edx
push ecx
call fcn.0050d502
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0050ce82
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.00409b40
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
int3