Function at 0x103959e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10422b41
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x104c5878]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x14], 0
test ebx, ebx
je 0x10395a2e
mov edx, ebx
mov edi, ebx
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10395a20
sub edx, ecx
lea esi, [edx + 1]
jmp 0x10395a32
xor edi, edi
xor esi, esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], str._log.txt
mov dword [ebp - 0x2c], 9
mov byte [ebp - 4], 0
mov ecx, 8
test esi, esi
mov dword [ebp - 0x14], 1
lea eax, [esi + 7]
cmove eax, ecx
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x3c], eax
lea ecx, [eax + 1]
call fcn.103675e0
mov dword [ebp - 0x40], eax
test esi, esi
je 0x10395a8d
lea ecx, [esi - 1]
jmp 0x10395a8f
xor ecx, ecx
push ecx
push edi
push eax
call fcn.103ce0b0
add esp, 0xc
test esi, esi
je 0x10395aa1
dec esi
jmp 0x10395aa3
xor esi, esi
mov ecx, dword [ebp - 0x40]
movq xmm0, qword [str._log.txt]
mov eax, dword [ebp + 0xc]
movq qword [ecx + esi], xmm0
mov byte [eax + ecx], 0
mov eax, 1
mov dword [ebp - 0x14], eax
and eax, 0xfffffffe
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10367720
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + 0x14]
xor eax, 1
mov dword [ebp - 0x40], 0
mov dword [ecx + 4], eax
lea edx, [ecx + 0x78]
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0xc], edx
test eax, eax
je 0x10395b58
mov esi, eax
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10395b00
sub esi, ecx
lea edi, [esi + 1]
cmp edi, 2
jb 0x10395b58
test edi, edi
mov ecx, 1
mov eax, edi
cmove eax, ecx
mov ecx, edx
push eax
call fcn.10353240
test al, al
je 0x10395b6e
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp + 0x10]
push dword [edx]
call fcn.103ce0b0
xor eax, eax
add esp, 0xc
test edi, edi
cmove esi, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov byte [esi + eax], 0
jmp 0x10395b6e
mov eax, dword [edx]
test eax, eax
je 0x10395b6e
cmp dword [edx + 4], 1
jbe 0x10395b6e
mov byte [eax], 0
mov dword [edx + 4], 1
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
add edi, 0x90
test eax, eax
je 0x10395bd7
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10395b83
sub esi, ecx
lea ecx, [esi + 1]
cmp ecx, 2
jb 0x10395bd7
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, edi
push eax
call fcn.10353240
test al, al
je 0x10395bed
mov ecx, dword [edi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp + 8]
push dword [edi]
call fcn.103ce0b0
lea eax, [esi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [edi]
cmove esi, ecx
mov byte [esi + eax], cl
jmp 0x10395bed
mov eax, dword [edi]
test eax, eax
je 0x10395bed
cmp dword [edi + 4], 1
jbe 0x10395bed
mov byte [eax], 0
mov dword [edi + 4], 1
mov edi, dword [ebp - 0x10]
add edi, 0x9c
test ebx, ebx
je 0x10395c52
mov esi, ebx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10395c00
sub esi, ecx
lea ecx, [esi + 1]
cmp ecx, 2
jb 0x10395c52
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, edi
push eax
call fcn.10353240
test al, al
je 0x10395c68
mov ecx, dword [edi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push ebx
push dword [edi]
call fcn.103ce0b0
lea eax, [esi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [edi]
cmove esi, ecx
mov byte [esi + eax], cl
jmp 0x10395c68
mov eax, dword [edi]
test eax, eax
je 0x10395c68
cmp dword [edi + 4], 1
jbe 0x10395c68
mov byte [eax], 0
mov dword [edi + 4], 1
xor edi, edi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], edi
test ebx, ebx
je 0x10395ce6
mov esi, ebx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10395c90
sub esi, ecx
lea ecx, [esi + 1]
cmp ecx, 2
jb 0x10395ce6
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
call fcn.10353240
test al, al
je 0x10395ce3
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10395cc4
dec eax
jmp 0x10395cc6
xor eax, eax
mov edi, dword [ebp - 0x28]
push eax
push ebx
push edi
call fcn.103ce0b0
xor ecx, ecx
lea eax, [esi + 1]
add esp, 0xc
test eax, eax
cmove esi, ecx
mov byte [esi + edi], cl
jmp 0x10395ce6
mov edi, dword [ebp - 0x28]
mov dword [ebp - 4], 3
xor dl, dl
mov ecx, edi
call fcn.103658d0
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.10367720
push dword [ebp + 0x10]
mov dword [ebp - 0x28], 0
push ebx
push dword [ebp + 8]
call fcn.103715a0
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 4]
test edi, edi
je 0x10395d26
lea ecx, [edi - 1]
jmp 0x10395d29
or ecx, 0xffffffff
xor eax, eax
test edi, edi
cmove ecx, eax
cmp ecx, 5
jne 0x10395efa
mov edx, dword [ebx]
mov esi, str.zh_cn
sub ecx, 4
jb 0x10395d56
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x10395d5b
add edx, 4
add esi, 4
sub ecx, 4
jae 0x10395d45
cmp ecx, 0xfffffffc
je 0x10395d98
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10395efa
cmp ecx, 0xfffffffd
je 0x10395d98
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10395efa
cmp ecx, 0xfffffffe
je 0x10395d98
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x10395efa
cmp ecx, 0xffffffff
je 0x10395d98
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x10395efa
mov esi, dword [ebp - 0x10]
push 3
lea ecx, [esi + 0x84]
call fcn.10353240
test al, al
je 0x10395dd9
mov ecx, dword [esi + 0x88]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x104796ac
push dword [esi + 0x84]
call fcn.103ce0b0
mov eax, dword [esi + 0x84]
add esp, 0xc
mov byte [eax + 2], 0
mov ecx, esi
cmp byte [ebp + 0x14], 0
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
jne 0x10395e1a
lea esi, [ecx + 0x2c]
lea eax, [esi + 0x10]
mov dword [esi + 0xc], 0x10396150
push eax
push 0
push esi
push 0x10367840
push 0
push 0
mov dword [esi], ecx
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [esi + 0x18], 0
call edi
mov dword [esi + 0x14], eax
mov ebx, dword [ebp + 8]
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10395e22
sub ecx, edx
push ecx
push ebx
mov ecx, 0x104c65b4
call fcn.103113b0
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 0
push 0x2710
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.103b7330
sub eax, 0x30b66800
push 0
push 0x3e8
sbb edx, 0xa97
push edx
push eax
call fcn.103b7330
push 0x104cce18
push 0x104cce10
push 0x104cce08
mov dword [0x104cce00], eax
mov dword [0x104cce04], edx
mov dword [0x104ccdfc], 0
call dword [sym.imp.KERNEL32.dll_GetSystemTimes]
push 0x104c65a4
push 0
push 0x104c6594
push 0x10367840
push 0
push 0
mov dword [0x104c65a0], 0
mov dword [0x104c6598], 0x103b3330
mov dword [0x104c659c], 0
mov dword [0x104c6594], 0
mov byte [0x104c65ac], 0
call edi
mov dword [0x104c65a8], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test edi, edi
je 0x10395f03
lea ecx, [edi - 1]
jmp 0x10395f06
or ecx, 0xffffffff
xor eax, eax
test edi, edi
cmove ecx, eax
cmp ecx, 2
jne 0x10395f97
mov edx, dword [ebx]
mov esi, 0x104796b0
sub ecx, 4
jb 0x10395f33
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x10395f38
add edx, 4
add esi, 4
sub ecx, 4
jae 0x10395f22
cmp ecx, 0xfffffffc
je 0x10395f65
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10395f97
cmp ecx, 0xfffffffd
je 0x10395f65
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10395f97
cmp ecx, 0xfffffffe
je 0x10395f65
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x10395f97
cmp ecx, 0xffffffff
je 0x10395f65
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x10395f97
mov esi, dword [ebp - 0x10]
push 3
lea ecx, [esi + 0x84]
call fcn.10353240
test al, al
je 0x10395dd9
mov ecx, dword [esi + 0x88]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x104796b4
jmp 0x10395dc1
test edi, edi
je 0x10395fa0
lea ecx, [edi - 1]
jmp 0x10395fa3
or ecx, 0xffffffff
xor eax, eax
test edi, edi
cmove ecx, eax
cmp ecx, 2
jne 0x10396035
mov edx, dword [ebx]
mov esi, 0x104796b8
sub ecx, 4
jb 0x10395fd1
nop
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x10395fd6
add edx, 4
add esi, 4
sub ecx, 4
jae 0x10395fc0
cmp ecx, 0xfffffffc
je 0x10396003
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10396035
cmp ecx, 0xfffffffd
je 0x10396003
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10396035
cmp ecx, 0xfffffffe
je 0x10396003
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x10396035
cmp ecx, 0xffffffff
je 0x10396003
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x10396035
mov esi, dword [ebp - 0x10]
push 3
lea ecx, [esi + 0x84]
call fcn.10353240
test al, al
je 0x10395dd9
mov ecx, dword [esi + 0x88]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x104796bc
jmp 0x10395dc1
test edi, edi
je 0x1039603e
lea ecx, [edi - 1]
jmp 0x10396041
or ecx, 0xffffffff
xor eax, eax
test edi, edi
cmove ecx, eax
cmp ecx, 5
jne 0x103960d5
mov edx, dword [ebx]
mov esi, str.zh_tw
sub ecx, 4
jb 0x10396071
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x10396076
add edx, 4
add esi, 4
sub ecx, 4
jae 0x10396060
cmp ecx, 0xfffffffc
je 0x103960a3
mov al, byte [edx]
cmp al, byte [esi]
jne 0x103960d5
cmp ecx, 0xfffffffd
je 0x103960a3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x103960d5
cmp ecx, 0xfffffffe
je 0x103960a3
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x103960d5
cmp ecx, 0xffffffff
je 0x103960a3
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x103960d5
mov esi, dword [ebp - 0x10]
push 3
lea ecx, [esi + 0x84]
call fcn.10353240
test al, al
je 0x10395dd9
mov ecx, dword [esi + 0x88]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push 0x104796c8
jmp 0x10395dc1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x84]
test eax, eax
je 0x10395ddb
cmp dword [ecx + 0x88], 1
jbe 0x10395ddb
mov byte [eax], 0
mov dword [ecx + 0x88], 1
jmp 0x10395ddb