Function at 0x41a090
Capabilities:
Create directory
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x457b8b
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0x467334]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x467334]
xor eax, esp
push eax
lea eax, [esp + 0x224]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x234]
mov dword [esp + 0x5c], ebp
push ebp
mov dword [esp + 0x230], 6
call fcn.00406db0
lea eax, [ebp + 0x18]
push eax
mov byte [esp + 0x230], 7
call fcn.00432a60
lea eax, [ebp + 0xe0]
push eax
mov byte [esp + 0x230], 8
call fcn.00439af0
lea esi, [ebp + 0x138]
call fcn.00404aa0
xor ebx, ebx
mov edi, 0xf
mov dword [ebp + 0x198], edi
mov dword [ebp + 0x194], ebx
mov byte [ebp + 0x184], bl
mov dword [ebp + 0x1b4], edi
mov dword [ebp + 0x1b0], ebx
mov byte [ebp + 0x1a0], bl
mov dword [ebp + 0x1d0], edi
mov dword [ebp + 0x1cc], ebx
mov byte [ebp + 0x1bc], bl
mov dword [ebp + 0x1f0], edi
mov dword [ebp + 0x1ec], ebx
mov byte [ebp + 0x1dc], bl
mov dword [ebp + 0x210], edi
mov dword [ebp + 0x20c], ebx
mov byte [ebp + 0x1fc], bl
lea ecx, [ebp + 0x214]
push ecx
mov byte [esp + 0x230], 0xf
call fcn.0042a300
lea edx, [ebp + 0x22c]
push edx
mov byte [esp + 0x230], pe_nt_image_headers32
call fcn.0042a300
mov dword [ebp + 0x25c], edi
mov dword [ebp + 0x258], ebx
mov byte [ebp + 0x248], bl
mov dword [ebp + 0x278], edi
mov dword [ebp + 0x274], ebx
mov byte [ebp + 0x264], bl
mov dword [ebp + 0x2a0], edi
mov dword [ebp + 0x29c], ebx
mov byte [ebp + 0x28c], bl
mov dword [ebp + 0x2bc], edi
mov dword [ebp + 0x2b8], ebx
mov byte [ebp + 0x2a8], bl
lea eax, [ebp + 0x2c0]
push eax
mov byte [esp + 0x230], 0x15
call fcn.0042a300
mov byte [esp + 0x22c], 0x16
lea eax, [ebp + 0x2d8]
push eax
call fcn.0042a300
lea ecx, [ebp + 0x2f0]
push ecx
mov byte [esp + 0x230], 0x17
call fcn.0042a300
lea esi, [ebp + 0x30c]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov byte [esi + 4], bl
mov dword [ebp + 0x340], edi
mov dword [ebp + 0x33c], ebx
mov byte [ebp + 0x32c], bl
mov dword [ebp + 0x35c], edi
mov dword [ebp + 0x358], ebx
mov byte [ebp + 0x348], bl
mov dword [ebp + 0x378], edi
mov dword [ebp + 0x374], ebx
mov byte [ebp + 0x364], bl
mov dword [ebp + 0x394], edi
mov dword [ebp + 0x390], ebx
mov byte [ebp + 0x380], bl
mov byte [esp + 0x22c], 0x1d
cmp dword [0x468ebc], 3
jne 0x41a291
call fcn.0041bed0
push ebp
call fcn.0041c090
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x240]
push edx
lea ecx, [ebp + 0x180]
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x25c]
push eax
mov ecx, esi
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x278]
push ecx
lea ecx, [ebp + 0x328]
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x294]
push edx
lea ecx, [ebp + 0x344]
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2b0]
push eax
lea ecx, [ebp + 0x360]
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2cc]
push ecx
lea ecx, [ebp + 0x37c]
call fcn.00402ea0
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x2e8]
push edx
lea ecx, [ebp + 0x2a4]
call fcn.00402ea0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push esi
mov byte [ecx + 4], bl
call fcn.00402ea0
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x264], 0x1e
mov dword [esp + 0x98], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x360]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402ea0
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x280], 0x1f
mov dword [esp + 0x70], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x344]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402ea0
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x29c], 0x20
mov dword [esp + 0x88], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x328]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402ea0
lea ecx, [ebp + 0xe0]
mov byte [esp + 0x29c], 0x1d
call fcn.00439be0
mov esi, ebp
call fcn.0041c300
call fcn.0041c370
call fcn.0041c3e0
push 0x103
lea eax, [esp + 0x119]
push ebx
push eax
mov byte [esp + 0x120], bl
call fcn.00444d20
add esp, 0xc
push 0x104
lea ecx, [esp + 0x118]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x41a55a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [esp + 0x28]
push edx
sub esp, 0x1c
mov esi, esp
lea eax, [esi + 4]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0x44], eax
mov edx, eax
mov byte [eax], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x3c], esp
cmp eax, 0x10
jb 0x41a458
mov ecx, dword [edx]
jmp 0x41a45c
mov ecx, dword [esp + 0x44]
cmp ecx, str._WRUH
ja 0x41a49f
cmp eax, 0x10
jb 0x41a46d
mov ecx, dword [edx]
jmp 0x41a46f
mov ecx, edx
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str._WRUH
jbe 0x41a49b
cmp eax, 0x10
mov eax, dword [esp + 0x44]
jb 0x41a487
mov eax, dword [eax]
push 0x21
mov ecx, str._WRUH
sub ecx, eax
push ecx
push esi
mov ecx, esi
call fcn.00402ea0
jmp 0x41a4ea
mov edx, dword [esp + 0x44]
cmp eax, 0x21
jae 0x41a4b5
mov edx, dword [esi + 0x14]
push edx
push 0x21
mov ecx, esi
call fcn.00403800
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41a4c1
mov eax, dword [edx]
jmp 0x41a4c3
mov eax, edx
push 0x21
push str._WRUH
push ecx
push eax
call fcn.0043c85e
mov eax, dword [esp + 0x54]
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x21
jb 0x41a4e7
mov eax, dword [eax]
mov byte [eax + 0x21], bl
lea esi, [esp + 0x88]
call fcn.00401900
mov ecx, eax
mov byte [esp + 0x234], 0x21
call fcn.00401db0
mov byte [esp + 0x230], 0x22
cmp dword [eax + 0x18], 0x10
jb 0x41a518
mov eax, dword [eax + 4]
jmp 0x41a51b
add eax, 4
push eax
push 1
push ebp
call fcn.0041c440
add esp, 0x10
cmp dword [esp + 0x3c], 0x10
jb 0x41a53b
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
jmp 0x41a581
lea eax, [esp + 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41a564
sub eax, edx
push eax
lea edx, [esp + 0x118]
push edx
lea ecx, [ebp + 0x244]
call fcn.004033f0
mov esi, ebp
call fcn.0041c590
mov edi, ebp
call fcn.0041c7d0
cmp eax, ebx
jge 0x41a6bc
lea eax, [esp + 0x24]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], esp
cmp eax, 0x10
jb 0x41a5c0
mov ecx, dword [edi]
jmp 0x41a5c2
mov ecx, edi
cmp ecx, 0x45bf7c
ja 0x41a5fd
cmp eax, 0x10
jb 0x41a5d3
mov ecx, dword [edi]
jmp 0x41a5d5
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45bf7c
jbe 0x41a5fd
cmp eax, 0x10
jb 0x41a5e9
mov edi, dword [edi]
push 0x17
mov eax, 0x45bf7c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402ea0
jmp 0x41a640
cmp eax, 0x17
jae 0x41a60f
mov ecx, dword [esi + 0x14]
push ecx
push 0x17
mov ecx, esi
call fcn.00403800
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41a61b
mov eax, dword [edi]
jmp 0x41a61d
mov eax, edi
push 0x17
push 0x45bf7c
push ecx
push eax
call fcn.0043c85e
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x17
jb 0x41a63d
mov edi, dword [edi]
mov byte [edi + 0x17], bl
lea esi, [esp + 0x84]
call fcn.00401900
mov byte [esp + 0x230], 0x23
call fcn.004019c0
mov esi, pe_nt_image_headers32
mov byte [esp + 0x22c], 0x24
cmp dword [eax + 0x18], esi
jb 0x41a670
mov eax, dword [eax + 4]
jmp 0x41a673
add eax, 4
push eax
push 1
push ebp
call fcn.0041c440
add esp, 0xc
cmp dword [esp + 0x3c], esi
jb 0x41a692
mov edx, dword [esp + 0x28]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push ebx
call fcn.0043cb47
add esp, 4
push ebp
call fcn.0041c8a0
push ebp
call fcn.0041e060
push ebp
call fcn.0041ea90
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x45a6ff
mov byte [ecx + 4], bl
call fcn.004033f0
sub esp, 0x1c
mov byte [esp + 0x268], 0x25
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x58], esp
cmp eax, 0x10
jb 0x41a719
mov ecx, dword [edi]
jmp 0x41a71b
mov ecx, edi
cmp ecx, 0x45bf98
ja 0x41a756
cmp eax, 0x10
jb 0x41a72c
mov ecx, dword [edi]
jmp 0x41a72e
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45bf98
jbe 0x41a756
cmp eax, 0x10
jb 0x41a742
mov edi, dword [edi]
push 0x45
mov eax, 0x45bf98
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402ea0
jmp 0x41a799
cmp eax, 0x45
jae 0x41a768
mov ecx, dword [esi + 0x14]
push ecx
push 0x45
mov ecx, esi
call fcn.00403800
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41a774
mov eax, dword [edi]
jmp 0x41a776
mov eax, edi
push 0x45
push 0x45bf98
push ecx
push eax
call fcn.0043c85e
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x45
jb 0x41a796
mov edi, dword [edi]
mov byte [edi + 0x45], bl
lea esi, [esp + 0xa0]
call fcn.00401900
lea edx, [esp + 0x44]
mov ecx, eax
mov byte [esp + 0x24c], 0x26
call fcn.00401a70
mov byte [esp + 0x24c], 0x27
cmp dword [eax + 0x18], 0x10
jb 0x41a7cb
mov edi, dword [eax + 4]
jmp 0x41a7ce
lea edi, [eax + 4]
sub esp, 0x1c
mov esi, esp
mov eax, edi
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
mov dword [esp + 0x58], esp
mov byte [esi + 4], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41a7f0
sub eax, edx
push eax
push edi
mov ecx, esi
call fcn.004033f0
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x29
call fcn.0041ef50
cmp dword [esp + 0x3c], 0x10
jb 0x41a829
mov edx, dword [esp + 0x28]
push edx
call fcn.0043c853
add esp, 4
mov edi, 0xf
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x45a6ff
mov byte [ecx + 4], bl
call fcn.004033f0
sub esp, 0x1c
mov byte [esp + 0x268], 0x2a
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x58], esp
cmp eax, 0x10
jb 0x41a891
mov ecx, dword [edi]
jmp 0x41a893
mov ecx, edi
cmp ecx, 0x45bfe0
ja 0x41a8ce
cmp eax, 0x10
jb 0x41a8a4
mov ecx, dword [edi]
jmp 0x41a8a6
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45bfe0
jbe 0x41a8ce
cmp eax, 0x10
jb 0x41a8ba
mov edi, dword [edi]
push 0x31
mov eax, 0x45bfe0
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402ea0
jmp 0x41a911
cmp eax, 0x31
jae 0x41a8e0
mov ecx, dword [esi + 0x14]
push ecx
push 0x31
mov ecx, esi
call fcn.00403800
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41a8ec
mov eax, dword [edi]
jmp 0x41a8ee
mov eax, edi
push 0x31
push 0x45bfe0
push ecx
push eax
call fcn.0043c85e
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x31
jb 0x41a90e
mov edi, dword [edi]
mov byte [edi + 0x31], bl
lea esi, [esp + 0xa0]
call fcn.00401900
lea edx, [esp + 0x44]
mov ecx, eax
mov byte [esp + 0x24c], 0x2b
call fcn.00401a70
mov edi, pe_nt_image_headers32
mov byte [esp + 0x24c], 0x2c
cmp dword [eax + 0x18], edi
jb 0x41a947
mov eax, dword [eax + 4]
jmp 0x41a94a
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x2e
call fcn.0041ef50
cmp dword [esp + 0x3c], edi
jb 0x41a97f
mov edx, dword [esp + 0x28]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45a6ff
call fcn.00402c00
sub esp, 0x1c
mov byte [esp + 0x268], 0x2f
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x45
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45bf98
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xa0]
call fcn.00401900
lea edx, [esp + 0x44]
mov ecx, eax
mov byte [esp + 0x24c], 0x30
call fcn.00401a70
mov byte [esp + 0x24c], 0x31
cmp dword [eax + 0x18], edi
jb 0x41aa0f
mov eax, dword [eax + 4]
jmp 0x41aa12
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x33
call fcn.0041ef50
cmp dword [esp + 0x3c], edi
jb 0x41aa47
mov eax, dword [esp + 0x28]
push eax
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00429050
call fcn.00417ad0
push ebx
sub esp, 0x1c
mov dword [esp + 0x24c], 0x1d
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45a6ff
call fcn.00402c00
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov byte [esp + 0x26c], 0x36
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x31
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.Soft
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xa4]
call fcn.00401900
push eax
mov byte [esp + 0x254], 0x37
call fcn.00401c70
mov byte [esp + 0x24c], 0x38
cmp dword [eax + 0x18], edi
jb 0x41aadf
mov eax, dword [eax + 4]
jmp 0x41aae2
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x3a
call fcn.0041ef50
cmp dword [esp + 0x3c], edi
jb 0x41ab17
mov edx, dword [esp + 0x28]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push 1
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 4
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c048
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xe0]
call fcn.00401900
mov ecx, eax
mov byte [esp + 0x234], 0x3b
call fcn.00401b50
mov byte [esp + 0x230], 0x3c
cmp dword [eax + 0x18], edi
jb 0x41ab8e
mov eax, dword [eax + 4]
jmp 0x41ab91
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402c00
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov byte [esp + 0x26c], 0x3d
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x38
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c050
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xa4]
call fcn.00401900
mov ecx, eax
mov byte [esp + 0x250], 0x3e
call fcn.00401b50
mov byte [esp + 0x24c], 0x3f
cmp dword [eax + 0x18], edi
jb 0x41abfc
mov eax, dword [eax + 4]
jmp 0x41abff
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x41
call fcn.0041ef50
cmp dword [esp + 0x3c], edi
jb 0x41ac34
mov edx, dword [esp + 0x28]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00429050
cmp dword [esp + 0x58], edi
jb 0x41ac60
mov eax, dword [esp + 0x44]
push eax
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 3
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c08c
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0x84]
call fcn.00401900
lea edx, [esp + 0x28]
mov ecx, eax
mov byte [esp + 0x230], 0x42
call fcn.00401a70
mov byte [esp + 0x230], 0x43
cmp dword [eax + 0x18], edi
jb 0x41acd9
mov eax, dword [eax + 4]
jmp 0x41acdc
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402c00
lea ecx, [esp + 0x60]
push ecx
sub esp, 0x1c
mov byte [esp + 0x26c], 0x44
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x38
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.SOFT_6_2___
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xfc]
call fcn.00401900
push eax
mov byte [esp + 0x254], 0x45
call fcn.00401c70
mov byte [esp + 0x24c], 0x46
cmp dword [eax + 0x18], edi
jb 0x41ad46
mov eax, dword [eax + 4]
jmp 0x41ad49
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, closesocket
mov byte [esp + 0x26c], 0x48
call fcn.0041ef50
cmp dword [esp + 0x58], edi
jb 0x41ad7e
mov edx, dword [esp + 0x44]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00429050
cmp dword [esp + 0x3c], edi
jb 0x41adad
mov eax, dword [esp + 0x28]
push eax
call fcn.0043c853
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45a6ff
call fcn.00402c00
sub esp, 0x1c
mov byte [esp + 0x268], 0x49
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x4f
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c0d0
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xf8]
call fcn.00401900
lea edx, [esp + 0x60]
mov ecx, eax
mov byte [esp + 0x24c], 0x4a
call fcn.00401a70
mov byte [esp + 0x24c], 0x4b
cmp dword [eax + 0x18], edi
jb 0x41ae3d
mov eax, dword [eax + 4]
jmp 0x41ae40
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, reloc.WS2_32.dll_closesocket
mov byte [esp + 0x26c], 0x4d
call fcn.0041ef50
cmp dword [esp + 0x58], edi
jb 0x41ae75
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45a6ff
call fcn.00402c00
lea edx, [esp + 0x60]
push edx
sub esp, 0x1c
mov byte [esp + 0x26c], 0x4e
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x3b
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c120
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xfc]
call fcn.00401900
mov byte [esp + 0x250], 0x4f
call fcn.004019c0
mov byte [esp + 0x24c], 0x50
cmp dword [eax + 0x18], edi
jb 0x41af07
mov eax, dword [eax + 4]
jmp 0x41af0a
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402c00
push ebp
mov ecx, reloc.WS2_32.dll_closesocket
mov byte [esp + 0x26c], 0x52
call fcn.0041ef50
cmp dword [esp + 0x58], edi
jb 0x41af3f
mov eax, dword [esp + 0x44]
push eax
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
call fcn.00438a10
sub eax, 1
jne 0x41af84
call fcn.00417b90
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov ecx, dword [ebp + 0x2e8]
sub ecx, dword [ebp + 0x2e4]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x41b055
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x21
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c15c
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xd8]
call fcn.00401900
lea edx, [esp + 0x40]
mov ecx, eax
mov byte [esp + 0x22c], 0x53
call fcn.00401a70
mov byte [esp + 0x22c], 0x54
cmp dword [eax + 0x18], edi
jb 0x41affc
mov eax, dword [eax + 4]
jmp 0x41afff
add eax, 4
push eax
push 1
push ebp
call fcn.0041c440
add esp, 0xc
cmp dword [esp + 0x58], edi
jb 0x41b01e
mov edx, dword [esp + 0x44]
push edx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
call fcn.00438a10
test eax, eax
je 0x41b055
call fcn.004399b0
call fcn.00432560
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x19c]
lea esi, [ebp + 0x260]
push eax
mov ecx, esi
call fcn.00402ea0
mov eax, dword [ebp + 0x274]
cmp eax, ebx
je 0x41b0b3
dec eax
mov dword [esp + 0x20], eax
cmp dword [esi + 0x14], eax
ja 0x41b089
call fcn.0043b6d1
mov eax, dword [esp + 0x20]
cmp dword [esi + 0x18], edi
jb 0x41b093
mov esi, dword [esi + 4]
jmp 0x41b096
add esi, 4
cmp byte [esi + eax], 0x5c
je 0x41b0b3
push 0x5c
mov eax, 1
lea edi, [ebp + 0x260]
call fcn.00412820
mov edi, pe_nt_image_headers32
lea eax, [esp + 0x40]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 8
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c180
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xdc]
call fcn.00401900
mov byte [esp + 0x230], 0x55
call fcn.004019c0
mov byte [esp + 0x22c], 0x56
cmp dword [eax + 0x18], edi
jb 0x41b105
mov edx, dword [eax + 4]
jmp 0x41b108
lea edx, [eax + 4]
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41b110
sub eax, esi
push eax
lea edi, [ebp + 0x260]
push edx
mov eax, edi
call fcn.004032e0
cmp dword [esp + 0x58], 0x10
jb 0x41b13c
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0043c853
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edi
mov byte [ecx + 4], bl
call fcn.00402ea0
call fcn.0041c740
cmp eax, ebx
mov esi, pe_nt_image_headers32
jge 0x41b25c
cmp dword [edi + 0x18], esi
jb 0x41b19b
mov eax, dword [edi + 4]
jmp 0x41b19e
lea eax, [edi + 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x41b1d1
cmp dword [edi + 0x18], esi
jb 0x41b1c0
mov edi, dword [edi + 4]
push 6
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x41b25c
add edi, 4
push 6
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x41b25c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [esp + 0x44]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x24
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x45c18c
mov byte [ecx + 4], bl
call fcn.004033f0
lea esi, [esp + 0xe0]
call fcn.00401900
mov byte [esp + 0x234], 0x57
call fcn.004019c0
mov byte [esp + 0x230], 0x58
cmp dword [eax + 0x18], 0x10
jb 0x41b22b
mov eax, dword [eax + 4]
jmp 0x41b22e
add eax, 4
push eax
push 1
push ebp
call fcn.0041c440
add esp, 0x10
lea ecx, [esp + 0x40]
call fcn.00402c70
lea esi, [esp + 0xbc]
mov byte [esp + 0x22c], 0x1d
call fcn.00429050
mov esi, pe_nt_image_headers32
mov eax, dword [esp + 0x2fc]
push 1
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x328]
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402ea0
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x26c], 0x59
mov dword [esp + 0x5c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x1d8]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402ea0
lea ecx, [ebp + 0x138]
mov byte [esp + 0x26c], 0x1d
call fcn.00404b80
cmp dword [esp + 0x250], esi
jb 0x41b2e1
mov ecx, dword [esp + 0x23c]
push ecx
call fcn.0043c853
add esp, 4
mov dword [esp + 0x250], edi
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
cmp dword [esp + 0x26c], esi
jb 0x41b30f
mov edx, dword [esp + 0x258]
push edx
call fcn.0043c853
add esp, 4
mov dword [esp + 0x26c], edi
mov dword [esp + 0x268], ebx
mov byte [esp + 0x258], bl
cmp dword [esp + 0x288], esi
jb 0x41b33d
mov eax, dword [esp + 0x274]
push eax
call fcn.0043c853
add esp, 4
mov dword [esp + 0x288], edi
mov dword [esp + 0x284], ebx
mov byte [esp + 0x274], bl
cmp dword [esp + 0x2a4], esi
jb 0x41b36b
mov ecx, dword [esp + 0x290]
push ecx
call fcn.0043c853
add esp, 4
mov dword [esp + 0x2a4], edi
mov dword [esp + 0x2a0], ebx
mov byte [esp + 0x290], bl
cmp dword [esp + 0x2c0], esi
jb 0x41b399
mov edx, dword [esp + 0x2ac]
push edx
call fcn.0043c853
add esp, 4
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2bc], ebx
mov byte [esp + 0x2ac], bl
cmp dword [esp + 0x2dc], esi
jb 0x41b3c7
mov eax, dword [esp + 0x2c8]
push eax
call fcn.0043c853
add esp, 4
mov dword [esp + 0x2dc], edi
mov dword [esp + 0x2d8], ebx
mov byte [esp + 0x2c8], bl
cmp dword [esp + 0x2f8], esi
jb 0x41b3f5
mov ecx, dword [esp + 0x2e4]
push ecx
call fcn.0043c853
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x224]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.0043c2d9
add esp, 0x21c
ret 0xcc