joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40c370
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4ac708], bl
je 0x40c568
mov ecx, dword [0x4ac8b8]
dec ecx
mov al, 0x7e
cmp ecx, 4
ja case.default.0x40c3a0
jmp dword [ecx*4 + 0x40c578]
mov al, 0x7f
jmp case.default.0x40c3a0
mov al, 0x80
jmp case.default.0x40c3a0
mov al, 0x81
jmp case.default.0x40c3a0
mov al, 0x82
jmp case.default.0x40c3a0
mov al, 0x83
mov ecx, dword [ebp + 8]
cmp ecx, 0x74
jne 0x40c3d1
cmp byte [0x4af604], bl
je 0x40c3d1
cmp byte [0x4a1051], bl
je 0x40c3dc
movzx eax, al
cmp ecx, eax
jne 0x40c55d
mov eax, dword [0x4af6d0]
mov ecx, 1
add eax, ecx
mov dword [0x4af6d0], eax
cmp eax, 0x14
jle 0x40c3f8
mov dword [0x4af6d0], ebx
fld qword [0x492a90]
push esi
push edi
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
mov edi, ecx
mov esi, 0x4ac8c0
mov dword [ebp - 0x20c], 0x14
mov eax, dword [esi - 4]
sub eax, ecx
je 0x40c4c2
sub eax, ecx
jne 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
cmp dword [esi + 4], ebx
jle 0x40c51c
fstp st(0)
mov dword [0x4af6d4], ebx
mov dword [0x4af6c8], ebx
call fcn.0045dc7c
mov edx, dword [esi + 4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x206]
movzx eax, word [ebp - 0x206]
fmul qword [0x492a88]
or eax, 0xc00
mov dword [ebp - 0x210], eax
mov eax, dword [esi]
fmul qword [0x492588]
mov dword [0x4af6c0], eax
fldcw word [ebp - 0x210]
fistp qword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 5
dec edx
fldcw word [ebp - 0x206]
mov dword [0x4af6bc], ecx
mov dword [0x4af6c4], edx
fld qword [0x492a90]
jmp 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
mov eax, dword [esi]
mov dword [ebp - 0x208], eax
cmp eax, ebx
jle 0x40c51c
mov edx, dword [0x4afd80]
fild dword [ebp - 0x208]
mov dword [0x4af6bc], ebx
mov dword [0x4af6c8], ebx
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
cmp dword [edx + 0xa4], ecx
jne 0x40c50a
fidiv dword [0x4af6e4]
jmp 0x40c510
fidiv dword [0x4a9fcc]
fmul st(1)
call fcn.0045d810
mov dword [0x4af6d4], eax
mov ecx, 1
add edi, ecx
add esi, 0xc
sub dword [ebp - 0x20c], ecx
jne 0x40c41d
mov eax, dword [0x4af6d0]
fstp st(0)
push eax
lea ecx, [ebp - 0x204]
push str.g_nCallBtnCounter:_d_n
push ecx
call fcn.00409dc0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x4af6b8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x40c3ab
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4ac708], bl
je 0x40c568
mov ecx, dword [0x4ac8b8]
dec ecx
mov al, 0x7e
cmp ecx, 4
ja case.default.0x40c3a0
jmp dword [ecx*4 + 0x40c578]
mov al, 0x7f
jmp case.default.0x40c3a0
mov al, 0x80
jmp case.default.0x40c3a0
mov al, 0x81
jmp case.default.0x40c3a0
mov al, 0x82
jmp case.default.0x40c3a0
mov al, 0x83
mov ecx, dword [ebp + 8]
cmp ecx, 0x74
jne 0x40c3d1
cmp byte [0x4af604], bl
je 0x40c3d1
cmp byte [0x4a1051], bl
je 0x40c3dc
movzx eax, al
cmp ecx, eax
jne 0x40c55d
mov eax, dword [0x4af6d0]
mov ecx, 1
add eax, ecx
mov dword [0x4af6d0], eax
cmp eax, 0x14
jle 0x40c3f8
mov dword [0x4af6d0], ebx
fld qword [0x492a90]
push esi
push edi
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
mov edi, ecx
mov esi, 0x4ac8c0
mov dword [ebp - 0x20c], 0x14
mov eax, dword [esi - 4]
sub eax, ecx
je 0x40c4c2
sub eax, ecx
jne 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
cmp dword [esi + 4], ebx
jle 0x40c51c
fstp st(0)
mov dword [0x4af6d4], ebx
mov dword [0x4af6c8], ebx
call fcn.0045dc7c
mov edx, dword [esi + 4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x206]
movzx eax, word [ebp - 0x206]
fmul qword [0x492a88]
or eax, 0xc00
mov dword [ebp - 0x210], eax
mov eax, dword [esi]
fmul qword [0x492588]
mov dword [0x4af6c0], eax
fldcw word [ebp - 0x210]
fistp qword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 5
dec edx
fldcw word [ebp - 0x206]
mov dword [0x4af6bc], ecx
mov dword [0x4af6c4], edx
fld qword [0x492a90]
jmp 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
mov eax, dword [esi]
mov dword [ebp - 0x208], eax
cmp eax, ebx
jle 0x40c51c
mov edx, dword [0x4afd80]
fild dword [ebp - 0x208]
mov dword [0x4af6bc], ebx
mov dword [0x4af6c8], ebx
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
cmp dword [edx + 0xa4], ecx
jne 0x40c50a
fidiv dword [0x4af6e4]
jmp 0x40c510
fidiv dword [0x4a9fcc]
fmul st(1)
call fcn.0045d810
mov dword [0x4af6d4], eax
mov ecx, 1
add edi, ecx
add esi, 0xc
sub dword [ebp - 0x20c], ecx
jne 0x40c41d
mov eax, dword [0x4af6d0]
fstp st(0)
push eax
lea ecx, [ebp - 0x204]
push str.g_nCallBtnCounter:_d_n
push ecx
call fcn.00409dc0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x4af6b8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x40c3af
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4ac708], bl
je 0x40c568
mov ecx, dword [0x4ac8b8]
dec ecx
mov al, 0x7e
cmp ecx, 4
ja case.default.0x40c3a0
jmp dword [ecx*4 + 0x40c578]
mov al, 0x7f
jmp case.default.0x40c3a0
mov al, 0x80
jmp case.default.0x40c3a0
mov al, 0x81
jmp case.default.0x40c3a0
mov al, 0x82
jmp case.default.0x40c3a0
mov al, 0x83
mov ecx, dword [ebp + 8]
cmp ecx, 0x74
jne 0x40c3d1
cmp byte [0x4af604], bl
je 0x40c3d1
cmp byte [0x4a1051], bl
je 0x40c3dc
movzx eax, al
cmp ecx, eax
jne 0x40c55d
mov eax, dword [0x4af6d0]
mov ecx, 1
add eax, ecx
mov dword [0x4af6d0], eax
cmp eax, 0x14
jle 0x40c3f8
mov dword [0x4af6d0], ebx
fld qword [0x492a90]
push esi
push edi
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
mov edi, ecx
mov esi, 0x4ac8c0
mov dword [ebp - 0x20c], 0x14
mov eax, dword [esi - 4]
sub eax, ecx
je 0x40c4c2
sub eax, ecx
jne 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
cmp dword [esi + 4], ebx
jle 0x40c51c
fstp st(0)
mov dword [0x4af6d4], ebx
mov dword [0x4af6c8], ebx
call fcn.0045dc7c
mov edx, dword [esi + 4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x206]
movzx eax, word [ebp - 0x206]
fmul qword [0x492a88]
or eax, 0xc00
mov dword [ebp - 0x210], eax
mov eax, dword [esi]
fmul qword [0x492588]
mov dword [0x4af6c0], eax
fldcw word [ebp - 0x210]
fistp qword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 5
dec edx
fldcw word [ebp - 0x206]
mov dword [0x4af6bc], ecx
mov dword [0x4af6c4], edx
fld qword [0x492a90]
jmp 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
mov eax, dword [esi]
mov dword [ebp - 0x208], eax
cmp eax, ebx
jle 0x40c51c
mov edx, dword [0x4afd80]
fild dword [ebp - 0x208]
mov dword [0x4af6bc], ebx
mov dword [0x4af6c8], ebx
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
cmp dword [edx + 0xa4], ecx
jne 0x40c50a
fidiv dword [0x4af6e4]
jmp 0x40c510
fidiv dword [0x4a9fcc]
fmul st(1)
call fcn.0045d810
mov dword [0x4af6d4], eax
mov ecx, 1
add edi, ecx
add esi, 0xc
sub dword [ebp - 0x20c], ecx
jne 0x40c41d
mov eax, dword [0x4af6d0]
fstp st(0)
push eax
lea ecx, [ebp - 0x204]
push str.g_nCallBtnCounter:_d_n
push ecx
call fcn.00409dc0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x4af6b8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x40c3b3
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4ac708], bl
je 0x40c568
mov ecx, dword [0x4ac8b8]
dec ecx
mov al, 0x7e
cmp ecx, 4
ja case.default.0x40c3a0
jmp dword [ecx*4 + 0x40c578]
mov al, 0x7f
jmp case.default.0x40c3a0
mov al, 0x80
jmp case.default.0x40c3a0
mov al, 0x81
jmp case.default.0x40c3a0
mov al, 0x82
jmp case.default.0x40c3a0
mov al, 0x83
mov ecx, dword [ebp + 8]
cmp ecx, 0x74
jne 0x40c3d1
cmp byte [0x4af604], bl
je 0x40c3d1
cmp byte [0x4a1051], bl
je 0x40c3dc
movzx eax, al
cmp ecx, eax
jne 0x40c55d
mov eax, dword [0x4af6d0]
mov ecx, 1
add eax, ecx
mov dword [0x4af6d0], eax
cmp eax, 0x14
jle 0x40c3f8
mov dword [0x4af6d0], ebx
fld qword [0x492a90]
push esi
push edi
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
mov edi, ecx
mov esi, 0x4ac8c0
mov dword [ebp - 0x20c], 0x14
mov eax, dword [esi - 4]
sub eax, ecx
je 0x40c4c2
sub eax, ecx
jne 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
cmp dword [esi + 4], ebx
jle 0x40c51c
fstp st(0)
mov dword [0x4af6d4], ebx
mov dword [0x4af6c8], ebx
call fcn.0045dc7c
mov edx, dword [esi + 4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x206]
movzx eax, word [ebp - 0x206]
fmul qword [0x492a88]
or eax, 0xc00
mov dword [ebp - 0x210], eax
mov eax, dword [esi]
fmul qword [0x492588]
mov dword [0x4af6c0], eax
fldcw word [ebp - 0x210]
fistp qword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 5
dec edx
fldcw word [ebp - 0x206]
mov dword [0x4af6bc], ecx
mov dword [0x4af6c4], edx
fld qword [0x492a90]
jmp 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
mov eax, dword [esi]
mov dword [ebp - 0x208], eax
cmp eax, ebx
jle 0x40c51c
mov edx, dword [0x4afd80]
fild dword [ebp - 0x208]
mov dword [0x4af6bc], ebx
mov dword [0x4af6c8], ebx
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
cmp dword [edx + 0xa4], ecx
jne 0x40c50a
fidiv dword [0x4af6e4]
jmp 0x40c510
fidiv dword [0x4a9fcc]
fmul st(1)
call fcn.0045d810
mov dword [0x4af6d4], eax
mov ecx, 1
add edi, ecx
add esi, 0xc
sub dword [ebp - 0x20c], ecx
jne 0x40c41d
mov eax, dword [0x4af6d0]
fstp st(0)
push eax
lea ecx, [ebp - 0x204]
push str.g_nCallBtnCounter:_d_n
push ecx
call fcn.00409dc0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x4af6b8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x40c3b7
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4ac708], bl
je 0x40c568
mov ecx, dword [0x4ac8b8]
dec ecx
mov al, 0x7e
cmp ecx, 4
ja case.default.0x40c3a0
jmp dword [ecx*4 + 0x40c578]
mov al, 0x7f
jmp case.default.0x40c3a0
mov al, 0x80
jmp case.default.0x40c3a0
mov al, 0x81
jmp case.default.0x40c3a0
mov al, 0x82
jmp case.default.0x40c3a0
mov al, 0x83
mov ecx, dword [ebp + 8]
cmp ecx, 0x74
jne 0x40c3d1
cmp byte [0x4af604], bl
je 0x40c3d1
cmp byte [0x4a1051], bl
je 0x40c3dc
movzx eax, al
cmp ecx, eax
jne 0x40c55d
mov eax, dword [0x4af6d0]
mov ecx, 1
add eax, ecx
mov dword [0x4af6d0], eax
cmp eax, 0x14
jle 0x40c3f8
mov dword [0x4af6d0], ebx
fld qword [0x492a90]
push esi
push edi
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
mov edi, ecx
mov esi, 0x4ac8c0
mov dword [ebp - 0x20c], 0x14
mov eax, dword [esi - 4]
sub eax, ecx
je 0x40c4c2
sub eax, ecx
jne 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
cmp dword [esi + 4], ebx
jle 0x40c51c
fstp st(0)
mov dword [0x4af6d4], ebx
mov dword [0x4af6c8], ebx
call fcn.0045dc7c
mov edx, dword [esi + 4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x206]
movzx eax, word [ebp - 0x206]
fmul qword [0x492a88]
or eax, 0xc00
mov dword [ebp - 0x210], eax
mov eax, dword [esi]
fmul qword [0x492588]
mov dword [0x4af6c0], eax
fldcw word [ebp - 0x210]
fistp qword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 5
dec edx
fldcw word [ebp - 0x206]
mov dword [0x4af6bc], ecx
mov dword [0x4af6c4], edx
fld qword [0x492a90]
jmp 0x40c51c
cmp edi, dword [0x4af6d0]
jne 0x40c51c
mov eax, dword [esi]
mov dword [ebp - 0x208], eax
cmp eax, ebx
jle 0x40c51c
mov edx, dword [0x4afd80]
fild dword [ebp - 0x208]
mov dword [0x4af6bc], ebx
mov dword [0x4af6c8], ebx
mov dword [0x4af6c4], ebx
mov dword [0x4af6c0], ebx
cmp dword [edx + 0xa4], ecx
jne 0x40c50a
fidiv dword [0x4af6e4]
jmp 0x40c510
fidiv dword [0x4a9fcc]
fmul st(1)
call fcn.0045d810
mov dword [0x4af6d4], eax
mov ecx, 1
add edi, ecx
add esi, 0xc
sub dword [ebp - 0x20c], ecx
jne 0x40c41d
mov eax, dword [0x4af6d0]
fstp st(0)
push eax
lea ecx, [ebp - 0x204]
push str.g_nCallBtnCounter:_d_n
push ecx
call fcn.00409dc0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x4af6b8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x420f10
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x4af4b7], 0
push esi
je 0x420f34
mov byte [0x4af4b7], 0
mov ecx, dword [0x4a9f08]
cmp dword [0x4a9f04], ecx
jg 0x421043
mov eax, dword [0x4af4dc]
inc eax
mov dword [0x4af4dc], eax
cmp eax, 1
jge 0x420fbb
cmp ecx, 0x64
jge 0x420fbb
cmp byte [0x4af489], 0
jne 0x420f9b
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20c], esp
push str.Witch_In
mov byte [0x4af489], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push 0
push 1
push 0x3b
call fcn.00409d80
add esp, 0xc
lea eax, [ebp - 0x204]
push str.bong_in_start_n
push eax
call fcn.00409dc0
add esp, 8
lea ecx, [ebp - 0x204]
push ecx
jmp 0x4210b1
call fcn.0045dc7c
mov edx, dword [0x4acc30]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
push 0x4a4
fnstcw word [ebp - 0x206]
push edx
movzx eax, word [ebp - 0x206]
fmul qword [0x4930d8]
or eax, 0xc00
mov dword [ebp - 0x20c], eax
fmul qword [0x492588]
fldcw word [ebp - 0x20c]
fistp qword [ebp - 0x210]
mov esi, dword [ebp - 0x210]
add esi, 0xa
fldcw word [ebp - 0x206]
imul esi, esi, 0x64
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push 0
push esi
push 0x4a4
push eax
call dword [sym.imp.USER32.dll_SetTimer]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d691
mov esp, ebp
pop ebp
ret
cmp byte [0x4af489], 0
jne 0x421096
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20c], esp
mov byte [0x4af489], 1
push 8
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Witch_In
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push 0
push 1
push 0x3b
call fcn.00409d80
add esp, 0xc
lea ecx, [ebp - 0x204]
push str.Witch_In_start_n
push ecx
call fcn.00409dc0
add esp, 8
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x4241b0
Capabilities:
Get common file path
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x408], esp
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402d30
lea eax, [ebp - 0x404]
push str.DatamoviesThunder.bik
push eax
call fcn.00409dc0
lea ecx, [ebp - 0x404]
push 0x492998
push ecx
call fcn.0045e277
mov esi, eax
add esp, 0x10
test esi, esi
je 0x42424b
push 0
push 0x3a1be
push esi
call fcn.0045e90f
push esi
push 1
push 0x308
push 0x4ac6e0
call fcn.0045eae2
push esi
call fcn.0045e12a
add esp, 0x20
lea edx, [ebp - 0x104]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x204]
push 0x493030
push eax
call fcn.0045d6a0
lea eax, [ebp - 0x204]
add esp, 8
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x424280
lea edi, [ebp - 0x104]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x424290
fld1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
lea ecx, [ebp - 0x104]
fst dword [esp]
push 1
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x408], esp
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00403240
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x424640
Capabilities:
Get common file path
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x408], esp
xor ebx, ebx
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.Thunder
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402d30
lea eax, [ebp - 0x404]
push str.DatamoviesThunder.bik
push eax
call fcn.00409dc0
lea ecx, [ebp - 0x404]
push 0x492904
push ecx
call fcn.0045e277
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x424741
push 2
push ebx
push esi
call fcn.0045e90f
push esi
call fcn.0045e820
add esp, 0x10
cmp eax, 0x399c8
jle 0x42472c
push ebx
push 0x3aaa0
push esi
call fcn.0045e90f
push esi
push 1
push 4
push 0x4aca20
call fcn.0045e66f
mov eax, dword [0x4aca20]
inc eax
add esp, 0x1c
mov dword [0x4aca20], eax
cmp eax, ebx
jle 0x42472c
xor ecx, ecx
mov edx, 0x14
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045c8ee
mov ebx, eax
mov eax, dword [0x4aca20]
lea eax, [eax + eax*4]
push esi
add eax, eax
push 1
add eax, eax
push eax
push ebx
call fcn.0045e66f
add esp, 0x14
push esi
call fcn.0045e12a
lea ecx, [ebp - 0x404]
push ecx
call fcn.00409690
add esp, 8
lea edx, [ebp - 0x104]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x204]
push 0x493030
push eax
call fcn.0045d6a0
lea eax, [ebp - 0x204]
add esp, 8
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x424770
lea edi, [ebp - 0x104]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x424780
fld1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
lea ecx, [ebp - 0x104]
fst dword [esp]
push 1
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x408], esp
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00403240
test ebx, ebx
je 0x4247f9
push ebx
call fcn.0045eb5c
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x424810
Capabilities:
Get common file path
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebp - 0x414]
movzx edx, word [ebp - 0x40e]
mov ax, word [ebp - 0x40c]
mov word [0x4ac658], cx
movzx ecx, word [ebp - 0x40a]
mov word [0x4ac65a], dx
movzx edx, word [ebp - 0x408]
sub esp, 0x1c
mov word [0x4ac65c], ax
mov al, byte [0x4af4ec]
mov word [0x4ac65e], cx
mov ecx, esp
mov dword [ebp - 0x418], esp
mov word [0x4ac660], dx
mov byte [0x4ac663], al
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402d30
lea ecx, [ebp - 0x404]
push str.DatamoviesThunder.bik
push ecx
call fcn.00409dc0
lea edx, [ebp - 0x404]
push 0x492998
push edx
call fcn.0045e277
mov esi, eax
add esp, 0x10
test esi, esi
je 0x424974
push 2
push 0
push esi
call fcn.0045e90f
push esi
call fcn.0045e820
add esp, 0x10
cmp eax, 0x399c8
jle 0x42495f
push 0
push 0x3aaa0
push esi
call fcn.0045e90f
push esi
push 1
push 4
push 0x4aca20
call fcn.0045eae2
mov eax, dword [0x4aca20]
lea eax, [eax + eax*4]
push 0
lea ecx, [eax*4 + 0x3aaa4]
push ecx
push esi
call fcn.0045e90f
push esi
push 1
push 0x14
push 0x4ac658
call fcn.0045eae2
mov eax, dword [0x4aca20]
inc eax
add esp, 0x38
mov dword [0x4aca20], eax
cmp eax, 0x2710
jle 0x42495f
mov dword [0x4aca20], 0
push esi
call fcn.0045e12a
lea edx, [ebp - 0x404]
push edx
call fcn.00409690
add esp, 8
lea eax, [ebp - 0x104]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x204]
push 0x493030
push ecx
call fcn.0045d6a0
lea eax, [ebp - 0x204]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4249a2
lea edi, [ebp - 0x104]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4249b2
fld1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
lea edx, [ebp - 0x104]
fst dword [esp]
push 1
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x418], esp
push 7
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.Thunder
mov byte [ecx], 0
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00403240
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0045d691
mov esp, ebp
pop ebp
ret
Function at 0x4269e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, 1
sub dword [0x4aa124], ebx
cmp byte [0x4af507], 0
push esi
jne 0x426b5f
cmp dword [0x4aa124], 0
jg 0x426b5f
mov eax, dword [0x4af578]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
add eax, 0xffffffe8
cmp eax, 0x16
ja case.default.0x426a38
movzx eax, byte [eax + 0x426b7c]
jmp dword [eax*4 + 0x426b70]
mov ecx, dword [0x4a9f28]
cmp ecx, dword [0x4af4e4]
jge case.default.0x426a38
cmp dword [0x4a9f04], ebx
jne case.default.0x426a38
mov byte [0x4af4a9], bl
mov dword [0x4a9f14], ebx
mov edx, dword [0x4acc30]
push 0x4af
push edx
call esi
mov eax, dword [0x4acc30]
push 0
push 0xc8
push 0x4af
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push ebx
push 0xf
call fcn.00409d80
add esp, 0xc
jmp case.default.0x426a38
mov ecx, dword [0x4a9f28]
cmp ecx, dword [0x4af4e4]
jge 0x426b0c
mov byte [0x4aca61], bl
mov dword [0x4acb54], 0
jmp 0x426a69
cmp dword [0x4a9f04], ebx
jle 0x426b0c
cmp byte [0x4af492], 0
jne 0x426b05
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.Multi_before_eft
mov byte [0x4af492], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push 0
push ebx
push 0x28
call fcn.00409d80
add esp, 0xc
push str._ShakePreResultTH_:_Multi_before_eft_n
jmp 0x426b16
call fcn.0041fa50
push str._ShakePreResultTH_:_EndWithGamewin_n
lea ecx, [ebp - 0x204]
push 0x100
push ecx
call fcn.0045e09f
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x204]
push eax
push ebx
call fcn.004095b0
add esp, 8
mov ecx, dword [0x4acc30]
push 0x49c
push ecx
mov dword [0x4aa124], 0x64
call esi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret