Function at 0x401ec5
Capabilities:
Check for time delay via gettickcount
Get hostname

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
lea eax, [ebp - 0xf4]
push eax
call fcn.0055ebb0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 8], 0x40
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0xa0]
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov byte [ebp - 0x34], 0x39
cmp dword [ebp + 0x34], 0
je 0x401f5b
mov byte [ebp - 0x34], 0x46
movsx eax, byte [ebp + 0x24]
cmp eax, 0x39
jne 0x401f5b
mov byte [ebp + 0x24], 0x46
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp + 0x14]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x401fd0
mov edx, dword [ebp - 0xb8]
add edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp + 0x18]
jg 0x402125
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x59
je 0x402001
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x79
jne 0x40200a
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x4d
jne 0x40202a
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x44
je 0x40204c
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x64
jne 0x402055
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x43
je 0x402077
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x63
jne 0x402080
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x48
jne 0x4020a0
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x6d
jne 0x4020c0
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x53
jne 0x4020e0
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x73
jne 0x402100
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x50
jne 0x402120
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
jmp 0x401fc1
mov dword [ebp - 0xb8], 0
jmp 0x402140
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp + 0x28]
push edx
call fcn.0054c3e0
add esp, 4
cmp dword [ebp - 0xb8], eax
jge 0x402277
mov eax, dword [ebp + 0x28]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x59
je 0x40217a
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x79
jne 0x402184
mov dword [ebp - 0xb4], 1
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x4d
jne 0x40219c
mov dword [ebp - 0x60], 1
mov eax, dword [ebp + 0x28]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x44
je 0x4021be
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x64
jne 0x4021c5
mov dword [ebp - 0x1c], 1
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x43
je 0x4021e7
mov eax, dword [ebp + 0x28]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x63
jne 0x4021f1
mov dword [ebp - 0xe4], 1
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x48
jne 0x40220c
mov dword [ebp - 0xc4], 1
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x6d
jne 0x402227
mov dword [ebp - 0xa4], 1
mov eax, dword [ebp + 0x28]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x53
jne 0x402242
mov dword [ebp - 0xbc], 1
mov edx, dword [ebp + 0x28]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x73
jne 0x40225a
mov dword [ebp - 0x48], 1
mov ecx, dword [ebp + 0x28]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x50
jne 0x402272
mov dword [ebp - 0x10], 1
jmp 0x402131
push 0x64
push 1
mov eax, dword [ebp - 0x18]
add eax, 1
push eax
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x54], eax
push 0x64
push 1
mov ecx, dword [ebp - 0xf0]
add ecx, 1
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0xc], eax
push 0x64
push 1
mov edx, dword [ebp - 0x58]
add edx, 1
push edx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x20], eax
push 0x64
push 1
mov eax, dword [ebp - 8]
add eax, 1
push eax
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x44], eax
push 0x64
push 1
mov ecx, dword [ebp - 0xd0]
add ecx, 1
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0xb0], eax
push 0x64
push 1
mov edx, dword [ebp - 0xe8]
add edx, 1
push edx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0xe0], eax
push 0x64
push 1
mov eax, dword [ebp - 0xd4]
add eax, 1
push eax
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x5c], eax
push 0x64
push 1
mov ecx, dword [ebp - 0xcc]
add ecx, 1
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x40], eax
push 0x64
push 1
mov edx, dword [ebp - 0xdc]
add edx, 1
push edx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x54], 0
je 0x402397
cmp dword [ebp - 0xc], 0
je 0x402397
cmp dword [ebp - 0x20], 0
je 0x402397
cmp dword [ebp - 0x44], 0
je 0x402397
cmp dword [ebp - 0xb0], 0
je 0x402397
cmp dword [ebp - 0xe0], 0
je 0x402397
cmp dword [ebp - 0x5c], 0
je 0x402397
cmp dword [ebp - 0x40], 0
je 0x402397
cmp dword [ebp - 0xd8], 0
jne 0x40239f
or eax, 0xffffffff
jmp 0x4033b0
mov eax, dword [ebp - 8]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 8]
mov byte [edx], 0
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x24], 4
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xb8], eax
jmp 0x4023f6
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
jl 0x40247c
mov eax, dword [ebp - 0xb8]
movsx ecx, byte [ebp + eax - 0xa0]
cmp ecx, 0x30
jl 0x40246a
mov edx, dword [ebp - 0xb8]
movsx eax, byte [ebp + edx - 0xa0]
cmp eax, 0x39
jg 0x40246a
cmp dword [ebp - 0xc0], 0
jle 0x40246a
cmp dword [ebp - 0x24], 0
jle 0x40246a
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb8]
mov al, byte [ebp + edx - 0xa0]
mov byte [ecx], al
mov ecx, dword [ebp - 0xc0]
sub ecx, 1
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0x24], 2
jne 0x402468
mov dword [ebp - 0x24], 1
jmp 0x402477
cmp dword [ebp - 0x24], 1
jne 0x402477
mov dword [ebp - 0x24], 0
jmp 0x4023e7
mov edx, dword [ebp - 0x44]
push edx
call fcn.0054c538
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.0054c543
add esp, 4
cmp dword [ebp - 0xe4], 0
je 0x4024b7
mov ecx, dword [ebp - 0x24]
push ecx
push 0x58a1e4
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
jmp 0x4024cc
mov eax, dword [ebp - 0x24]
push eax
push 0x58a1e8
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
push 0x64
push 1
mov edx, dword [ebp - 0x50]
add edx, 1
push edx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x50]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x50]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x50]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x40252f
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xa8]
jle 0x40254b
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xf8], ecx
jmp 0x402555
mov dword [ebp - 0xf8], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0xf8]
jl 0x40258b
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x402520
cmp dword [ebp - 0xb4], 0
je 0x4025b3
lea ecx, [ebp - 0xf4]
call fcn.00406c70
push eax
push 0x58a1ec
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x4025d0
lea ecx, [ebp - 0xf4]
call fcn.00406c70
push eax
push 0x58a1f0
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0x18]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x18]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x40261d
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xa8]
jle 0x402639
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xfc], ecx
jmp 0x402643
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0xfc]
jl 0x402679
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x40260e
cmp dword [ebp - 0x60], 0
je 0x40269e
lea ecx, [ebp - 0xf4]
call fcn.00406c90
push eax
push 0x58a1f4
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x4026bb
lea ecx, [ebp - 0xf4]
call fcn.00406c90
push eax
push 0x58a1f8
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0xf0]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xf0]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xf0]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402711
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0xa8]
jle 0x402733
mov ecx, dword [ebp - 0xf0]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x100], ecx
jmp 0x40273d
mov dword [ebp - 0x100], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x100]
jl 0x402776
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xf0]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x402702
cmp dword [ebp - 0x1c], 0
je 0x40279b
lea ecx, [ebp - 0xf4]
call fcn.00406cb0
push eax
push 0x58a1fc
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x4027b8
lea ecx, [ebp - 0xf4]
call fcn.00406cb0
push eax
push 0x58a200
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0x58]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x58]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402805
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xa8]
jle 0x402821
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x104], ecx
jmp 0x40282b
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x104]
jl 0x402861
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x4027f6
cmp dword [ebp - 0xc4], 0
je 0x402889
lea ecx, [ebp - 0xf4]
call fcn.00406cd0
push eax
push 0x58a204
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x4028a6
lea ecx, [ebp - 0xf4]
call fcn.00406cd0
push eax
push 0x58a208
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0xd0]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0xb0]
add edx, dword [ebp - 0xd0]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd0]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402902
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xa8]
jle 0x402924
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x108], ecx
jmp 0x40292e
mov dword [ebp - 0x108], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x108]
jl 0x40296a
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0xb0]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x4028f3
cmp dword [ebp - 0xa4], 0
je 0x402992
lea ecx, [ebp - 0xf4]
call fcn.00406cf0
push eax
push 0x58a20c
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x4029af
lea ecx, [ebp - 0xf4]
call fcn.00406cf0
push eax
push 0x58a210
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0xe8]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0xe8]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xe8]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402a0b
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xa8]
jle 0x402a2d
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x10c], ecx
jmp 0x402a37
mov dword [ebp - 0x10c], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x10c]
jl 0x402a73
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x4029fc
cmp dword [ebp - 0xbc], 0
je 0x402a9b
lea ecx, [ebp - 0xf4]
call fcn.00406d10
push eax
push 0x58a214
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x402ab8
lea ecx, [ebp - 0xf4]
call fcn.00406d10
push eax
push 0x58a218
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0xd4]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0xd4]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xd4]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402b0e
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xa8]
jle 0x402b30
mov ecx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x110], ecx
jmp 0x402b3a
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x110]
jl 0x402b73
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x402aff
cmp dword [ebp - 0x48], 0
je 0x402b9c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
push edx
push 0x58a21c
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
jmp 0x402bbd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
push edx
push 0x58a220
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0xcc]
add eax, 1
push eax
push 0x30
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0xcc]
mov byte [edx], 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
jmp 0x402c13
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xa8]
jle 0x402c35
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x114], ecx
jmp 0x402c3f
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp - 0x114]
jl 0x402c78
lea eax, [ebp - 0x3c]
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x402c04
cmp dword [ebp - 0x10], 0
je 0x402c95
mov ecx, dword [ebp + 0x30]
push ecx
push 0x58a224
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c45b
add esp, 0xc
jmp 0x402caa
mov eax, dword [ebp + 0x30]
push eax
push 0x58a228
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0054c45b
add esp, 0xc
mov edx, dword [ebp - 0xdc]
add edx, 1
push edx
push 0x30
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0054bfb0
add esp, 0xc
mov ecx, dword [ebp - 0xd8]
add ecx, dword [ebp - 0xdc]
mov byte [ecx], 0
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xdc]
sub eax, 1
mov dword [ebp - 0xb8], eax
jmp 0x402d06
mov ecx, dword [ebp - 0xb8]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0xa8]
jle 0x402d28
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xa8]
mov dword [ebp - 0x118], eax
jmp 0x402d32
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0x118]
jl 0x402d6e
lea edx, [ebp - 0x3c]
push edx
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [ebp - 0xb8]
sub eax, ecx
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xb8]
mov al, byte [ebp + eax - 0x3c]
mov byte [edx], al
jmp 0x402cf7
mov dword [ebp - 0xac], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xb8], 0
jmp 0x402dd4
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp + 0x10]
jge 0x4032dc
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x23
jne 0x402e2e
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x30
jl 0x402e1b
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x34]
cmp edx, eax
jg 0x402e1b
jmp 0x402dc5
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov dl, byte [ebp + 0x24]
mov byte [ecx], dl
jmp 0x4032d7
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x59
je 0x402e54
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x79
jne 0x402ee2
cmp dword [ebp + 0x1c], 0
je 0x402ee2
mov ecx, dword [ebp + 0x14]
sub ecx, 1
cmp dword [ebp - 0xb8], ecx
jl 0x402ec7
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp + 0x18]
jge 0x402ec7
cmp dword [ebp + 0x20], 0
je 0x402ea0
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0xac]
movsx eax, byte [edx]
cmp ecx, eax
je 0x402ea0
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0xac]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 0xac]
add ecx, 1
mov dword [ebp - 0xac], ecx
jmp 0x402edd
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x4032d7
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x4d
jne 0x402f71
cmp dword [ebp + 0x1c], 0
je 0x402f71
mov ecx, dword [ebp + 0x14]
sub ecx, 1
cmp dword [ebp - 0xb8], ecx
jl 0x402f56
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp + 0x18]
jge 0x402f56
cmp dword [ebp + 0x20], 0
je 0x402f38
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp ecx, eax
je 0x402f38
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x402f6c
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x4032d7
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x44
je 0x402f97
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x64
jne 0x403025
cmp dword [ebp + 0x1c], 0
je 0x403025
mov eax, dword [ebp + 0x14]
sub eax, 1
cmp dword [ebp - 0xb8], eax
jl 0x40300a
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp + 0x18]
jge 0x40300a
cmp dword [ebp + 0x20], 0
je 0x402fe3
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xec]
movsx edx, byte [ecx]
cmp eax, edx
je 0x402fe3
mov dword [ebp - 0x28], 1
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xec]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
jmp 0x403020
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
mov al, byte [edx]
mov byte [ecx], al
jmp 0x4032d7
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x43
je 0x403047
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x63
jne 0x4030a8
cmp dword [ebp + 0x1c], 0
je 0x4030a8
mov edx, dword [ebp + 0x14]
sub edx, 1
cmp dword [ebp - 0xb8], edx
jl 0x40308d
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp + 0x18]
jge 0x40308d
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0xc0]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
jmp 0x4030a3
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x4032d7
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x48
jne 0x403114
cmp dword [ebp + 0x1c], 0
je 0x403114
mov ecx, dword [ebp + 0x14]
sub ecx, 1
cmp dword [ebp - 0xb8], ecx
jl 0x4030f9
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp + 0x18]
jge 0x4030f9
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0x30]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x40310f
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
mov al, byte [edx]
mov byte [ecx], al
jmp 0x4032d7
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x6d
jne 0x403180
cmp dword [ebp + 0x1c], 0
je 0x403180
mov eax, dword [ebp + 0x14]
sub eax, 1
cmp dword [ebp - 0xb8], eax
jl 0x403165
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp + 0x18]
jge 0x403165
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0x2c]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x40317b
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
mov dl, byte [ecx]
mov byte [eax], dl
jmp 0x4032d7
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
cmp ecx, 0x53
jne 0x4031f2
cmp dword [ebp + 0x1c], 0
je 0x4031f2
mov edx, dword [ebp + 0x14]
sub edx, 1
cmp dword [ebp - 0xb8], edx
jl 0x4031d7
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp + 0x18]
jge 0x4031d7
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0xc8]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
jmp 0x4031ed
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xb8]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x4032d7
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x73
jne 0x403258
cmp dword [ebp + 0x1c], 0
je 0x403258
mov ecx, dword [ebp + 0x14]
sub ecx, 1
cmp dword [ebp - 0xb8], ecx
jl 0x403240
mov edx, dword [ebp - 0xb8]
cmp edx, dword [ebp + 0x18]
jge 0x403240
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x4c]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
jmp 0x403256
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
mov al, byte [edx]
mov byte [ecx], al
jmp 0x4032d7
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
movsx edx, byte [ecx]
cmp edx, 0x50
jne 0x4032c1
cmp dword [ebp + 0x1c], 0
je 0x4032c1
mov eax, dword [ebp + 0x14]
sub eax, 1
cmp dword [ebp - 0xb8], eax
jl 0x4032a9
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp + 0x18]
jge 0x4032a9
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x14]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
jmp 0x4032bf
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
mov dl, byte [ecx]
mov byte [eax], dl
jmp 0x4032d7
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xb8]
mov dl, byte [ecx]
mov byte [eax], dl
jmp 0x402dc5
cmp dword [ebp - 0x28], 0
je 0x40332d
cmp dword [ebp + 0x2c], 0
jne 0x40332d
mov dword [ebp - 0xb8], 0
jmp 0x403303
mov eax, dword [ebp - 0xb8]
add eax, 1
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp + 0x10]
jge 0x40332d
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0xb8]
movsx eax, byte [edx]
cmp eax, 0x23
jne 0x40332b
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xb8]
mov byte [ecx], 0x30
jmp 0x4032f4
mov edx, dword [ebp + 8]
add edx, dword [ebp + 0x10]
mov byte [edx], 0
mov eax, dword [ebp - 0x54]
push eax
call fcn.0054c543
add esp, 4
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0054c543
add esp, 4
mov edx, dword [ebp - 0x20]
push edx
call fcn.0054c543
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
call fcn.0054c543
add esp, 4
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.0054c543
add esp, 4
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0054c543
add esp, 4
mov eax, dword [ebp - 0x5c]
push eax
call fcn.0054c543
add esp, 4
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.0054c543
add esp, 4
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0054c543
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret