Function at 0x40bf80
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52c603
mov eax, dword fs:[0]
push eax
sub esp, 0x5f8
mov eax, dword [0x588790]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, str._Xml2Install::ReadModuleCfg_Start
mov dword [ebp - 0x5cc], eax
mov esi, ecx
call fcn.00408b90
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea ecx, [esi + 0x38]
push ecx
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], ebx
mov byte [ebp - 0x1f4], bl
call fcn.00404580
push 0xffffffffffffffff
mov dword [ebp - 4], ebx
push ebx
add esi, 0x1c
mov edi, 0xf
push esi
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x1ac], ebx
mov byte [ebp - 0x1bc], bl
call fcn.00404580
push 0xffffffffffffffff
mov byte [ebp - 4], 1
push ebx
lea edx, [ebp - 0x1f4]
push edx
lea ecx, [ebp - 0x604]
mov dword [ebp - 0x5f0], edi
mov dword [ebp - 0x5f4], ebx
mov byte [ebp - 0x604], bl
call fcn.00404580
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 3
call fcn.00404580
cmp dword [ebp - 0x5f0], 0x10
jb 0x40c087
mov ecx, dword [ebp - 0x604]
push ecx
call fcn.004ad85d
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x5f0], esi
mov dword [ebp - 0x5f4], ebx
mov byte [ebp - 0x604], bl
mov dword [ebp - 0x5e0], ebx
mov dword [ebp - 0x5dc], ebx
mov dword [ebp - 0x5d8], ebx
lea edx, [ebp - 0x5e0]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 5
push 0xd
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.StopProcesses
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x174], ebx
mov byte [ebp - 0x184], bl
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x158], ebx
mov byte [ebp - 0x168], bl
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], ebx
mov byte [ebp - 0x14c], bl
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x5dc]
mov edi, dword [ebp - 0x5e0]
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x5c8], ebx
mov dword [ebp - 0x5c4], eax
je 0x40c58e
add edi, 0x2c
mov dword [ebp - 0x5c0], edi
lea esp, [esp]
mov eax, dword [ebp - 0x5c0]
mov edx, dword [eax + 0x20]
cmp edx, eax
je 0x40c1b8
lea ecx, [ecx]
mov eax, dword [edx + 0x14]
mov edi, str.Name
add eax, 8
jmp 0x40c180
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x40c1a0
cmp cl, bl
je 0x40c19c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x40c1a0
add eax, 2
add edi, 2
cmp cl, bl
jne 0x40c180
xor eax, eax
jmp 0x40c1a5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c250
mov edx, dword [edx + 0x20]
cmp edx, dword [ebp - 0x5c0]
jne 0x40c170
xor edi, edi
mov eax, edi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c1d1
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x110]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 7
call fcn.00420a40
add esp, 4
mov edi, eax
lea ecx, [ebp - 0x184]
cmp ecx, edi
je 0x40c27d
cmp dword [ebp - 0x170], 0x10
jb 0x40c221
mov edx, dword [ebp - 0x184]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x174], ebx
mov byte [ebp - 0x184], bl
cmp dword [edi + 0x14], 0x10
jae 0x40c25b
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x184]
push edi
push eax
call fcn.005040e0
add esp, 0xc
jmp 0x40c265
mov edi, dword [edx + 0x18]
add edi, 8
jmp 0x40c1ba
mov ecx, dword [edi]
mov dword [ebp - 0x184], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x174], edx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x170], eax
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
cmp dword [ebp - 0x38], 0x10
jb 0x40c28f
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 6
cmp dword [ebp - 0xfc], 0x10
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
jb 0x40c2b4
mov edx, dword [ebp - 0x110]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5c0]
mov edx, dword [eax + 0x20]
cmp edx, eax
je 0x40c308
mov eax, dword [edx + 0x14]
mov edi, str.File
add eax, 8
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x40c2f0
cmp cl, bl
je 0x40c2ec
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x40c2f0
add eax, 2
add edi, 2
cmp cl, bl
jne 0x40c2d0
xor eax, eax
jmp 0x40c2f5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c3a0
mov edx, dword [edx + 0x20]
cmp edx, dword [ebp - 0x5c0]
jne 0x40c2c1
xor edi, edi
mov eax, edi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c321
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x110]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 9
call fcn.00420a40
add esp, 4
mov edi, eax
lea ecx, [ebp - 0x168]
cmp ecx, edi
je 0x40c3cd
cmp dword [ebp - 0x154], 0x10
jb 0x40c371
mov edx, dword [ebp - 0x168]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x158], ebx
mov byte [ebp - 0x168], bl
cmp dword [edi + 0x14], 0x10
jae 0x40c3ab
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x168]
push edi
push eax
call fcn.005040e0
add esp, 0xc
jmp 0x40c3b5
mov edi, dword [edx + 0x18]
add edi, 8
jmp 0x40c30a
mov ecx, dword [edi]
mov dword [ebp - 0x168], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x158], edx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x154], eax
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
cmp dword [ebp - 0x38], 0x10
jb 0x40c3df
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 6
cmp dword [ebp - 0xfc], 0x10
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
jb 0x40c404
mov edx, dword [ebp - 0x110]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5c0]
mov edx, dword [eax + 0x20]
cmp edx, eax
je 0x40c458
mov eax, dword [edx + 0x14]
mov edi, str.AutoCloseProcess
add eax, 8
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x40c440
cmp cl, bl
je 0x40c43c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x40c440
add eax, 2
add edi, 2
cmp cl, bl
jne 0x40c420
xor eax, eax
jmp 0x40c445
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c4f0
mov edx, dword [edx + 0x20]
cmp edx, dword [ebp - 0x5c0]
jne 0x40c411
xor edi, edi
mov eax, edi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c471
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x110]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xb
call fcn.00420a40
add esp, 4
mov edi, eax
lea ecx, [ebp - 0x14c]
cmp ecx, edi
je 0x40c51d
cmp dword [ebp - 0x138], 0x10
jb 0x40c4c1
mov edx, dword [ebp - 0x14c]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], ebx
mov byte [ebp - 0x14c], bl
cmp dword [edi + 0x14], 0x10
jae 0x40c4fb
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x14c]
push edi
push eax
call fcn.005040e0
add esp, 0xc
jmp 0x40c505
mov edi, dword [edx + 0x18]
add edi, 8
jmp 0x40c45a
mov ecx, dword [edi]
mov dword [ebp - 0x14c], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x13c], edx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x138], eax
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
cmp dword [ebp - 0x38], 0x10
jb 0x40c52f
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 6
cmp dword [ebp - 0xfc], 0x10
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
jb 0x40c554
mov edx, dword [ebp - 0x110]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5cc]
push eax
lea ecx, [ebp - 0x184]
call fcn.0040fce0
cmp al, bl
je 0x40c6bb
mov eax, dword [ebp - 0x5c8]
add dword [ebp - 0x5c0], 0x50
inc eax
mov dword [ebp - 0x5c8], eax
cmp eax, dword [ebp - 0x5c4]
jb 0x40c160
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], ebx
lea edx, [ebp - 0x104]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0xd
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Regedits
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
mov dword [ebp - 0x270], esi
mov dword [ebp - 0x274], ebx
mov byte [ebp - 0x284], bl
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x258], ebx
mov byte [ebp - 0x268], bl
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x23c], ebx
mov byte [ebp - 0x24c], bl
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x220], ebx
mov byte [ebp - 0x230], bl
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x204], ebx
mov byte [ebp - 0x214], bl
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x100]
mov esi, dword [ebp - 0x104]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40ce18
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
jmp 0x40c670
mov edi, dword [ebp - 0x5c0]
mov edx, dword [edi + 0x20]
cmp edx, edi
je 0x40c805
mov eax, dword [edx + 0x14]
mov esi, str.hKey
add eax, 8
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x40c7ed
cmp cl, bl
je 0x40c6b4
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x40c7ed
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40c690
xor eax, eax
jmp 0x40c7f2
mov edi, 0x10
cmp dword [ebp - 0x138], edi
jb 0x40c6d7
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], ebx
mov byte [ebp - 0x14c], bl
cmp dword [ebp - 0x154], edi
jb 0x40c700
mov edx, dword [ebp - 0x168]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x158], ebx
mov byte [ebp - 0x168], bl
cmp dword [ebp - 0x170], edi
jb 0x40c729
mov eax, dword [ebp - 0x184]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 4
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x174], ebx
mov byte [ebp - 0x184], bl
cmp dword [ebp - 0x5e0], ebx
je 0x40c77d
mov edi, dword [ebp - 0x5e0]
cmp edi, dword [ebp - 0x5dc]
je 0x40c769
mov edx, dword [edi]
mov eax, dword [edx]
push ebx
mov ecx, edi
call eax
add edi, 0x50
cmp edi, dword [ebp - 0x5dc]
jne 0x40c755
mov ecx, dword [ebp - 0x5e0]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, 0x10
cmp dword [ebp - 0x118], edi
jb 0x40c794
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
cmp dword [ebp - 0x1a8], edi
jb 0x40c7bd
mov eax, dword [ebp - 0x1bc]
push eax
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1ac], ebx
mov byte [ebp - 0x1bc], bl
cmp dword [ebp - 0x1e0], edi
jb 0x40c7e6
mov ecx, dword [ebp - 0x1f4]
push ecx
call fcn.004ad85d
add esp, 4
xor al, al
jmp 0x40e942
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c8ac
mov edx, dword [edx + 0x20]
cmp edx, edi
jne 0x40c681
xor esi, esi
mov eax, esi
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c822
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xf
call fcn.00420a40
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x284]
mov edi, 0x10
cmp ecx, esi
je 0x40c8d9
cmp dword [ebp - 0x270], edi
jb 0x40c87a
mov edx, dword [ebp - 0x284]
push edx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x270], 0xf
mov dword [ebp - 0x274], ebx
mov byte [ebp - 0x284], bl
cmp dword [esi + 0x14], edi
jae 0x40c8b7
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x284]
push esi
push eax
call fcn.005040e0
add esp, 0xc
jmp 0x40c8c1
mov esi, dword [edx + 0x18]
add esi, 8
jmp 0x40c807
mov ecx, dword [esi]
mov dword [ebp - 0x284], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x274], edx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x270], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
cmp dword [ebp - 0x38], edi
jb 0x40c8ea
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x8c], edi
jb 0x40c912
mov edx, dword [ebp - 0xa0]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5cc]
cmp byte [eax + 0xd6], bl
je 0x40ca6e
mov eax, dword [ebp - 0x5c0]
mov edx, dword [eax + 0x20]
cmp edx, eax
je 0x40c978
mov eax, dword [edx + 0x14]
mov esi, str.SubKey64
add eax, 8
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x40c960
cmp cl, bl
je 0x40c95c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x40c960
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40c940
xor eax, eax
jmp 0x40c965
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40ca1a
mov edx, dword [edx + 0x20]
cmp edx, dword [ebp - 0x5c0]
jne 0x40c931
xor esi, esi
mov eax, esi
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c995
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x11
call fcn.00420a40
add esp, 4
mov esi, eax
lea edx, [ebp - 0x268]
cmp edx, esi
je 0x40ca47
cmp dword [ebp - 0x254], edi
jb 0x40c9e8
mov eax, dword [ebp - 0x268]
push eax
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x258], ebx
mov byte [ebp - 0x268], bl
cmp dword [esi + 0x14], edi
jae 0x40ca25
mov eax, dword [esi + 0x10]
inc eax
push eax
lea ecx, [ebp - 0x268]
push esi
push ecx
call fcn.005040e0
add esp, 0xc
jmp 0x40ca2f
mov esi, dword [edx + 0x18]
add esi, 8
jmp 0x40c97a
mov edx, dword [esi]
mov dword [ebp - 0x268], edx
mov dword [esi], ebx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x258], eax
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x254], ecx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
cmp dword [ebp - 0x38], edi
jb 0x40ca58
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x8c], edi
mov dword [ebp - 0x38], 0xf
jmp 0x40cb07
mov edi, dword [ebp - 0x5c0]
mov esi, str.SubKey32
call fcn.004156b0
cmp eax, ebx
je 0x40ca8a
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40ca8c
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40caa8
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x13
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x14
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40cafa
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x8c], esi
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x4c], bl
mov dword [ebp - 0x3c], ebx
jb 0x40cb1e
mov eax, dword [ebp - 0xa0]
push eax
call fcn.004ad85d
add esp, 4
push ebx
lea ecx, [ebp - 0x284]
push ecx
call fcn.004100d0
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov edi, str._ZXml::GetAllL3LayerNode_Start
mov byte [ebp - 4], 0x15
call fcn.00408b90
mov eax, dword [ebp - 0x5c0]
lea edx, [eax - 0x2c]
test edx, edx
je 0x40cb5a
add eax, 0xffffffd4
lea ecx, [ebp - 0x78]
call fcn.0041fd40
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x78]
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40cdce
mov ecx, dword [ebp - 0x78]
add ecx, 0x2c
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 0x5d0], eax
mov edi, dword [ebp - 0x5c8]
mov esi, str.Name
call fcn.004156b0
cmp eax, ebx
je 0x40cba5
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40cba7
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40cbc3
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x16
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x17
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40cc15
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x8c], esi
jb 0x40cc39
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c8]
mov esi, str.Type
call fcn.004156b0
cmp eax, ebx
je 0x40cc55
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40cc57
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40cc73
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x18
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x19
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40ccc5
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x8c], esi
jb 0x40cce9
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c8]
mov esi, str.Value
call fcn.004156b0
cmp eax, ebx
je 0x40cd05
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40cd07
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40cd23
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1a
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x1b
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40cd75
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x8c], esi
jb 0x40cd99
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.004ad85d
add esp, 4
mov edx, dword [ebp - 0x5cc]
push 1
push edx
lea ecx, [ebp - 0x214]
call fcn.004107c0
push 1
lea eax, [ebp - 0x284]
push eax
call fcn.004100d0
add dword [ebp - 0x5c8], 0x50
dec dword [ebp - 0x5d0]
jne 0x40cb89
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x78]
cmp esi, ebx
je 0x40cdfc
mov edi, dword [ebp - 0x74]
cmp esi, edi
je 0x40cdf3
mov edx, dword [esi]
mov eax, dword [edx]
push ebx
mov ecx, esi
call eax
add esi, 0x50
cmp esi, edi
jne 0x40cde0
mov esi, dword [ebp - 0x78]
push esi
call fcn.004ad85d
add esp, 4
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
jne 0x40c670
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
lea ecx, [ebp - 0x94]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0x1c
push 5
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Files
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
lea eax, [ebp - 0x5bc]
call fcn.0040e960
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c8], ebx
mov byte [ebp - 0x1d8], bl
xor edx, edx
mov dword [ebp - 0x18c], 7
mov dword [ebp - 0x190], ebx
mov word [ebp - 0x1a0], dx
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x94]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40d5ac
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
jmp 0x40cee0
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537488
call fcn.004156b0
cmp eax, ebx
je 0x40cefc
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40cefe
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40cf11
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x20
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x5bc]
mov byte [ebp - 4], 0x21
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40cf5d
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40cf7b
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537540
call fcn.004156b0
cmp eax, ebx
je 0x40cf97
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40cf99
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40cfb0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x22
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 0x23
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40cffc
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d01a
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.DestDir
call fcn.004156b0
cmp eax, ebx
je 0x40d036
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d038
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d050
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d050
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x24
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0x25
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d09c
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d0ba
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.DestName
call fcn.004156b0
cmp eax, ebx
je 0x40d0d6
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d0d8
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d0f0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d0f0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 0x27
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d13c
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d15a
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.RegSvr
call fcn.004156b0
cmp eax, ebx
je 0x40d176
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d178
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d190
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d190
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x28
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0x29
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d1dc
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d1fa
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.UnRegSvr
call fcn.004156b0
cmp eax, ebx
je 0x40d216
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d218
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d230
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d230
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2a
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0x2b
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d27c
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d29a
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.SkipIfExist
call fcn.004156b0
cmp eax, ebx
je 0x40d2b6
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d2b8
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d2d0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d2d0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2c
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x514]
mov byte [ebp - 4], 0x2d
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d31c
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d33a
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.DeleteSrcFile
call fcn.004156b0
cmp eax, ebx
je 0x40d356
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d358
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea edx, [eax + 1]
jmp 0x40d370
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d370
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2e
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0x2f
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d3bc
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x54], esi
jb 0x40d3da
mov edx, dword [ebp - 0x68]
push edx
call fcn.004ad85d
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d0], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x1bc]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], bl
call fcn.00404580
lea ecx, [ebp - 0x5bc]
push ecx
call fcn.0040ebd0
mov esi, dword [ebp - 0x5cc]
push ebx
push esi
lea ecx, [ebp - 0x584]
call fcn.004107c0
lea ecx, [ebp - 0x5bc]
call fcn.0040edd0
cmp byte [esi + 0xd4], bl
jne 0x40d599
fld dword [esi + 0xbc]
fadd qword [0x546420]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x5d0]
fst dword [esi + 0xbc]
fdiv dword [esi + 0xb8]
fmul qword [0x546458]
call fcn.005211a0
push 0xa
lea edx, [ebp - 0x30]
push edx
push eax
mov dword [esi + 0xc0], eax
call fcn.00520ed1
mov esi, eax
mov ecx, esi
add esp, 0xc
lea edi, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x40d480
sub ecx, edi
push ecx
push esi
lea ecx, [ebp - 0x1d8]
call fcn.004047d0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d0], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x1d8]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], bl
call fcn.00404580
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00420700
add esp, 0x20
push eax
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x30
call fcn.00408160
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0x38], 8
jb 0x40d4ee
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
xor eax, eax
mov esi, 8
mov edi, 7
mov word [ebp - 0x4c], ax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x18c], esi
jae 0x40d518
lea eax, [ebp - 0x1a0]
mov ecx, dword [0x58f468]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x13c]
push 0x536c84
call eax
push 0x537604
lea ecx, [ebp - 0x1a0]
push ecx
lea edx, [ebp - 0x4c]
push edx
call fcn.00408420
add esp, 0xc
push eax
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x31
call fcn.00408160
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0x38], esi
jb 0x40d56b
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x1a0]
xor ecx, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], cx
cmp dword [ebp - 0x18c], esi
jae 0x40d58b
lea eax, [ebp - 0x1a0]
mov ecx, dword [0x58f46c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
jne 0x40cee0
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
lea ecx, [ebp - 0x5c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0x32
push 4
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Dirs
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
mov dword [ebp - 0x300], esi
mov dword [ebp - 0x304], ebx
mov byte [ebp - 0x314], bl
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2e8], ebx
mov byte [ebp - 0x2f8], bl
mov dword [ebp - 0x2c8], esi
mov dword [ebp - 0x2cc], ebx
mov byte [ebp - 0x2dc], bl
mov dword [ebp - 0x2ac], esi
mov dword [ebp - 0x2b0], ebx
mov byte [ebp - 0x2c0], bl
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x294], ebx
mov byte [ebp - 0x2a4], bl
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40da49
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537488
call fcn.004156b0
cmp eax, ebx
je 0x40d694
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d696
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d6b2
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xd8]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x34
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x314]
mov byte [ebp - 4], 0x35
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d704
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xc4], esi
jb 0x40d728
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537540
call fcn.004156b0
cmp eax, ebx
je 0x40d744
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d746
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d762
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xd8]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x36
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x37
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d7b4
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xc4], esi
jb 0x40d7d8
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.DestDir
call fcn.004156b0
cmp eax, ebx
je 0x40d7f4
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d7f6
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d812
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xd8]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x38
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x39
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d864
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xc4], esi
jb 0x40d888
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.SkipIfExist
call fcn.004156b0
cmp eax, ebx
je 0x40d8a4
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d8a6
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d8c2
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xd8]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x3a
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x3b
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d914
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xc4], esi
jb 0x40d938
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.IncludeFolder
call fcn.004156b0
cmp eax, ebx
je 0x40d954
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40d956
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40d972
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xd8]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x3c
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x3d
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40d9c4
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xc4], esi
jb 0x40d9e8
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004ad85d
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d0], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x1bc]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], bl
call fcn.00404580
lea eax, [ebp - 0x314]
push eax
call fcn.0040ebd0
mov esi, dword [ebp - 0x5cc]
push ebx
push esi
lea ecx, [ebp - 0x2dc]
call fcn.004107c0
lea ecx, [ebp - 0x314]
push ecx
push esi
call fcn.0040f1b0
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
jne 0x40d678
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
lea edx, [ebp - 0xcc]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0x3e
push 5
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.Group
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
lea eax, [ebp - 0x4dc]
call fcn.0040be60
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xcc]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40df28
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
mov edi, dword [ebp - 0x5c0]
mov esi, str.Name
call fcn.004156b0
cmp eax, ebx
je 0x40daf3
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40daf5
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40db11
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x40
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x41
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40db63
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40db87
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537488
call fcn.004156b0
cmp eax, ebx
je 0x40dba3
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40dba5
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40dbc1
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x42
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 4], 0x43
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40dc13
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40dc37
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.Cmds
call fcn.004156b0
cmp eax, ebx
je 0x40dc53
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40dc55
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40dc71
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x44
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0x45
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40dcc3
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40dce7
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.StartMenu
call fcn.004156b0
cmp eax, ebx
je 0x40dd03
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40dd05
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40dd21
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x46
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0x47
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40dd73
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40dd97
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.Path
call fcn.004156b0
cmp eax, ebx
je 0x40ddb3
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40ddb5
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40ddd1
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x48
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x49
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40de23
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40de47
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.Desk
call fcn.004156b0
cmp eax, ebx
je 0x40de63
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40de65
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40de81
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xbc]
call fcn.004047d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x4a
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x4b
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40ded3
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0xa8], esi
jb 0x40def7
mov edx, dword [ebp - 0xbc]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5cc]
push ebx
push eax
lea ecx, [ebp - 0x4c0]
call fcn.004107c0
lea ecx, [ebp - 0x4dc]
call fcn.0040f3e0
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
jne 0x40dad7
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
lea ecx, [ebp - 0xb0]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0x4c
push 0xe
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.StartProcesses
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
mov dword [ebp - 0x390], esi
mov dword [ebp - 0x394], ebx
mov byte [ebp - 0x3a4], bl
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x378], ebx
mov byte [ebp - 0x388], bl
mov dword [ebp - 0x358], esi
mov dword [ebp - 0x35c], ebx
mov byte [ebp - 0x36c], bl
mov dword [ebp - 0x33c], esi
mov dword [ebp - 0x340], ebx
mov byte [ebp - 0x350], bl
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x324], ebx
mov byte [ebp - 0x334], bl
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xb0]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40e391
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537488
call fcn.004156b0
cmp eax, ebx
je 0x40e022
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e024
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e040
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x4e
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x4f
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40e092
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x70], esi
jb 0x40e0b3
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.WorkDir
call fcn.004156b0
cmp eax, ebx
je 0x40e0cf
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e0d1
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e0e7
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x50
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x51
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40e139
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x70], esi
jb 0x40e15a
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.Cmds
call fcn.004156b0
cmp eax, ebx
je 0x40e176
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e178
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e190
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x52
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x53
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40e1e2
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x70], esi
jb 0x40e203
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.Wait
call fcn.004156b0
cmp eax, ebx
je 0x40e21f
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e221
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e237
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x54
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x55
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40e289
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x70], esi
jb 0x40e2aa
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.UpEnvironmentVar
call fcn.004156b0
cmp eax, ebx
je 0x40e2c6
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e2c8
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e2e0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.004047d0
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x56
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x57
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0x38], esi
jb 0x40e332
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x70], esi
jb 0x40e353
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.004ad85d
add esp, 4
mov esi, dword [ebp - 0x5cc]
push ebx
push esi
lea ecx, [ebp - 0x3a4]
call fcn.004107c0
push ebx
push esi
lea ecx, [ebp - 0x388]
call fcn.004107c0
lea ecx, [ebp - 0x3a4]
call fcn.0040f6e0
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
jne 0x40e006
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
lea edx, [ebp - 0x78]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c4], esp
mov byte [ebp - 4], 0x58
push 4
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.envs
mov byte [ecx], bl
call fcn.004047d0
lea ecx, [ebp - 0x12c]
call fcn.0041fbd0
lea eax, [ebp - 0x434]
call fcn.0040eaf0
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x78]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40e7ae
add esi, 0x2c
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5c4], eax
mov edi, dword [ebp - 0x5c0]
mov esi, str.Name
call fcn.004156b0
cmp eax, ebx
je 0x40e429
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e42b
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e440
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.004047d0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x5a
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x5b
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x40e495
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x38], esi
jb 0x40e4bc
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.values
call fcn.004156b0
cmp eax, ebx
je 0x40e4d8
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e4da
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e4f0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.004047d0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x5c
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0x5d
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x40e545
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x38], esi
jb 0x40e56c
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.type
call fcn.004156b0
cmp eax, ebx
je 0x40e588
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e58a
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e5a0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.004047d0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x5e
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x3fc]
mov byte [ebp - 4], 0x5f
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x40e5f5
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x38], esi
jb 0x40e61c
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, 0x537664
call fcn.004156b0
cmp eax, ebx
je 0x40e638
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e63a
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e650
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.004047d0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x60
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x61
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x40e6a5
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x38], esi
jb 0x40e6cc
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov edi, dword [ebp - 0x5c0]
mov esi, str.OSVariables
call fcn.004156b0
cmp eax, ebx
je 0x40e6e8
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x40e6ea
xor esi, esi
mov edi, 0xf
mov eax, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40e700
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x4c]
call fcn.004047d0
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x62
call fcn.00420a40
add esp, 4
push eax
lea ecx, [ebp - 0x3c4]
mov byte [ebp - 4], 0x63
call fcn.00404500
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x40e755
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004ad85d
add esp, 4
mov byte [ebp - 4], 0x59
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x38], esi
jb 0x40e77c
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ad85d
add esp, 4
mov eax, dword [ebp - 0x5cc]
push ebx
push eax
lea ecx, [ebp - 0x418]
call fcn.004107c0
lea ecx, [ebp - 0x434]
push ecx
call fcn.0040f950
add dword [ebp - 0x5c0], 0x50
dec dword [ebp - 0x5c4]
jne 0x40e40d
mov edi, str._Xml2Install::ReadModuleCfg_end
call fcn.00408b90
lea esi, [ebp - 0x434]
call fcn.0040eb30
lea edx, [ebp - 0x78]
push edx
mov byte [ebp - 4], 0x4d
call fcn.004044b0
lea esi, [ebp - 0x3a4]
call fcn.0040eb30
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x3f
call fcn.004044b0
lea esi, [ebp - 0x4dc]
call fcn.0040beb0
lea ecx, [ebp - 0xcc]
push ecx
mov byte [ebp - 4], 0x33
call fcn.004044b0
lea esi, [ebp - 0x314]
call fcn.0040eb30
lea edx, [ebp - 0x5c]
push edx
mov byte [ebp - 4], 0x1f
call fcn.004044b0
cmp dword [ebp - 0x18c], 8
jb 0x40e836
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004ad85d
add esp, 4
xor ecx, ecx
mov edi, 0x10
mov dword [ebp - 0x18c], 7
mov dword [ebp - 0x190], ebx
mov word [ebp - 0x1a0], cx
cmp dword [ebp - 0x1c4], edi
jb 0x40e86b
mov edx, dword [ebp - 0x1d8]
push edx
call fcn.004ad85d
add esp, 4
lea esi, [ebp - 0x5bc]
mov dword [ebp - 0x1c4], 0xf
mov dword [ebp - 0x1c8], ebx
mov byte [ebp - 0x1d8], bl
call fcn.0040e9d0
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0xe
call fcn.004044b0
lea esi, [ebp - 0x284]
call fcn.0040eb30
lea ecx, [ebp - 0x104]
push ecx
mov byte [ebp - 4], 6
call fcn.004044b0
lea esi, [ebp - 0x184]
call fcn.0040bda0
lea edx, [ebp - 0x5e0]
push edx
mov byte [ebp - 4], 4
call fcn.004044b0
cmp dword [ebp - 0x118], edi
jb 0x40e8e9
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004ad85d
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
cmp dword [ebp - 0x1a8], edi
jb 0x40e917
mov ecx, dword [ebp - 0x1bc]
push ecx
call fcn.004ad85d
add esp, 4
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1ac], ebx
mov byte [ebp - 0x1bc], bl
cmp dword [ebp - 0x1e0], edi
jb 0x40e940
mov edx, dword [ebp - 0x1f4]
push edx
call fcn.004ad85d
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00503edf
mov esp, ebp
pop ebp
ret 4