joyce8/EMBER2024-capa huggingface dataset:
Function at 0x430ce0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x200
mov ecx, 0x3f
xor eax, eax
push ebx
push esi
push edi
lea edi, [esp + 0xc]
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
xor esi, esi
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, esi
xor edx, edx
mov ecx, 0xa
div ecx
mov eax, dword [0x4e41f0]
lea ecx, [esp + 0xc]
add eax, 0xd
movsx edx, word [edx*2 + 0x4c99e0]
xor edx, eax
push edx
push ecx
lea edx, [esp + 0x14]
push str._s0x_02X
push edx
call ebx
add esp, 0x10
inc esi
cmp esi, 0xa
jb 0x430d01
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x10c]
xor esi, esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, esi
xor edx, edx
mov ecx, 0xa
div ecx
movsx eax, byte [esi + 0x4e41f4]
lea ecx, [esp + 0x10c]
movsx edx, word [edx*2 + 0x4c99e0]
xor edx, eax
xor edx, 0xff
push edx
push ecx
lea edx, [esp + 0x114]
push str._s0x_02X
push edx
call ebx
add esp, 0x10
inc esi
cmp esi, 0xa
jl 0x430d4e
mov esi, dword [sym.imp.KERNEL32.DLL_WritePrivateProfileStringA]
lea eax, [esp + 0xc]
push str.PControl.ini
push eax
push str.BLOCK1
push str.Browser
call esi
lea ecx, [esp + 0x10c]
push str.PControl.ini
push ecx
push str.BLOCK2
push str.Browser
call esi
call fcn.0047dd30
push eax
push str.Version
push str.general
call fcn.0044cf00
mov edx, dword [0x4e41f0]
push edx
push 0x4c9a84
push str.general
call fcn.0044cf00
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x200
ret
Function at 0x430e50
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x1c
and eax, 0xffff
cmp eax, 0x5e3
jg 0x430eb6
je case.0x430ec8.1510
cmp eax, 0x457
jg 0x430e9e
cmp eax, 0x456
jge case.0x430ec8.1510
cmp eax, 0x44d
jl case.0x430ec8.1512
cmp eax, 0x44f
jle case.0x430ec8.1510
cmp eax, 0x454
je case.0x430ec8.1510
xor eax, eax
add esp, 0x1c
ret
cmp eax, 0x5d9
jl case.0x430ec8.1512
cmp eax, 0x5db
jle case.0x430ec8.1510
xor eax, eax
add esp, 0x1c
ret
add eax, 0xfffffa1b
cmp eax, 0x31
ja case.0x430ec8.1512
xor ecx, ecx
mov cl, byte [eax + 0x430fdc]
jmp dword [ecx*4 + 0x430fcc]
push esi
push edi
mov edi, 0x4e41f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x430f73
mov eax, dword [0x4e41d8]
push ebx
lea edx, [esp + 0xc]
push 0xa
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea esi, [esp + 0xc]
mov eax, 0x4e41f4
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x430f2b
test cl, cl
je 0x430f27
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x430f2b
add eax, 2
add esi, 2
test cl, cl
jne 0x430f03
xor eax, eax
jmp 0x430f30
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
pop ebx
jne 0x430f58
mov eax, dword [0x4e4210]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push eax
call esi
mov ecx, dword [0x4e41d4]
push 1
push ecx
call esi
pop edi
xor eax, eax
pop esi
add esp, 0x1c
ret
mov edx, dword [0x4e4210]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push edx
call esi
mov eax, dword [0x4e41d4]
push 0
push eax
call esi
pop edi
xor eax, eax
pop esi
add esp, 0x1c
ret
mov edx, dword [0x4e41d4]
lea ecx, [esp + 0xc]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push 0x431010
push eax
push ecx
call fcn.004436b0
push 0
call fcn.00453740
add esp, 0x10
xor eax, eax
add esp, 0x1c
ret
mov edx, dword [0x4e41d0]
push edx
call fcn.00453310
add esp, 4
mov eax, 1
add esp, 0x1c
ret
Function at 0x4312b0
Capabilities:
Encode data using xor
Read .ini file

Disassembly:
sub esp, 0x20c
xor eax, eax
push esi
push edi
mov dword [esp + 0xc], eax
mov ecx, 0x3f
lea edi, [esp + 0x14]
mov byte [esp + 0x10], al
mov esi, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x114]
push str.PControl.ini
rep stosd dword es:[edi], eax
xor ecx, ecx
lea edx, [esp + 0x18]
push 0xff
mov dword [0x4e41f4], ecx
stosw word es:[edi], ax
push edx
push 0x4ddbb0
mov dword [0x4e41f8], ecx
push str.BLOCK1
push str.Browser
mov word [0x4e41fc], cx
stosb byte es:[edi], al
call esi
push str.PControl.ini
lea eax, [esp + 0x118]
push 0xff
push eax
push 0x4ddbb0
push str.BLOCK2
push str.Browser
call esi
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x4313aa
lea edi, [esp + 0x114]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x4313aa
xor ecx, ecx
push 0x4c9a84
mov dword [0x4e41f4], ecx
push str.general
mov dword [0x4e41f8], ecx
mov word [0x4e41fc], cx
call fcn.0044cec0
add esp, 8
mov dword [0x4e41f0], eax
test eax, eax
jge 0x43139c
mov dword [0x4e41f0], 1
call fcn.00430ce0
pop edi
pop esi
add esp, 0x20c
ret
push ebx
push ebp
mov ebp, dword [sym.imp.MSVCRT.dll_sscanf]
xor esi, esi
xor ebx, ebx
lea edx, [esp + ebx*4 + 0x1c]
push 4
lea eax, [esp + 0x18]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jb 0x43142d
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push 0x4c556c
push edx
call ebp
mov eax, ebx
xor edx, edx
mov ecx, 0xa
mov edi, dword [esp + 0x1c]
div ecx
add esp, 0xc
movsx eax, word [edx*2 + 0x4c99e0]
xor eax, edi
sub eax, 0xd
cmp ebx, esi
mov dword [esp + 0x10], eax
je 0x431420
cmp eax, dword [0x4e41f0]
jne 0x431435
jmp 0x431425
mov dword [0x4e41f0], eax
inc ebx
cmp ebx, 0xa
jb 0x4313b6
jmp 0x431439
mov dword [0x4e41f0], esi
jmp 0x431439
mov dword [esp + 0x10], esi
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x11c]
push 4
lea edx, [esp + 0x18]
push edi
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x20]
push eax
push 0x4c556c
push ecx
call ebp
mov eax, esi
xor edx, edx
mov ecx, 0xa
div ecx
mov ecx, dword [esp + 0x28]
movsx eax, word [edx*2 + 0x4c99e0]
xor eax, ecx
xor eax, 0xff
push eax
push 0x4e41f4
push str._s_c
push 0x4e41f4
mov dword [esp + 0x38], eax
call ebx
add esp, 0x28
inc esi
add edi, 4
cmp esi, 0xa
jl 0x431446
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x20c
ret
Function at 0x434140
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x510ae0]
test eax, eax
je 0x434156
push str.help_hide
call fcn.0043bb00
add esp, 4
mov eax, dword [0x4e644c]
push 0
push eax
mov dword [0x4e6558], 0
call dword [sym.imp.USER32.dll_ShowWindow]
ret

Function at 0x434300
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push esi
xor eax, eax
lea esi, [ecx + edx]
cmp ecx, esi
jae 0x434333
push ebx
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
shr eax, 8
mov edx, dword [edx*4 + 0x4c9de8]
xor eax, edx
inc ecx
cmp ecx, esi
jb 0x434313
pop ebx
pop esi
ret

Function at 0x4347c0
Capabilities:
Create http request
Create thread

Disassembly:
mov eax, dword [0x510ae0]
sub esp, 8
test eax, eax
je 0x4347d9
push str.http_init
call fcn.0043bb00
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
mov dword [0x4e67b4], eax
jne 0x4347f0
mov dword [0x4e67b4], 0x7530
call fcn.00453290
test eax, eax
push 0
push 0
je 0x434802
push eax
push 3
jmp 0x434806
push 0
push 0
call fcn.00434370
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
test eax, eax
mov dword [0x4e6578], eax
jne 0x434825
call dword [sym.imp.KERNEL32.DLL_GetLastError]
add esp, 8
ret
push ebx
push esi
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionA]
push edi
lea ecx, [esp + 0xc]
push 4
push ecx
mov edi, 0x4e20
push 2
push eax
mov dword [esp + 0x1c], edi
call esi
mov eax, dword [0x4e6578]
lea edx, [esp + 0xc]
push 4
push edx
push 7
push eax
mov dword [esp + 0x1c], edi
call esi
mov ecx, dword [0x4e6578]
push 4
push 0x4e67b4
push 8
push ecx
call esi
mov eax, dword [0x4e6578]
lea edx, [esp + 0x10]
push 4
push edx
push 3
push eax
mov dword [esp + 0x20], 3
call esi
mov edi, dword [sym.imp.KERNEL32.DLL_CreateEventA]
mov ebx, dword [sym.imp.MSVCRT.dll__beginthread]
xor esi, esi
push 0
push 0
push 0
push 0
call edi
push esi
push 0
push 0x4348d0
mov dword [esi*4 + 0x4e657c], eax
call ebx
add esp, 0xc
mov dword [esi*4 + 0x4e6560], eax
inc esi
cmp esi, 6
jl 0x434891
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
Function at 0x435350
Capabilities:
Move file

Disassembly:
mov eax, dword [0x510afc]
test eax, eax
je 0x43536f
mov eax, dword [0x4e6c50]
mov ecx, dword [eax + 0xc]
push ecx
push str.Continuing_work_on__s...
call fcn.0043bb00
add esp, 8
mov edx, dword [0x4e6b22]
mov eax, dword [0x4e6b0a]
cmp edx, eax
mov eax, dword [0x4e69b0]
push esi
jae 0x4353c0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
push 0x4e6ab8
call fcn.0049cdeb
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4353ac
push 0x4e6ab8
call fcn.00435260
add esp, 4
mov eax, dword [0x4e69b0]
push esi
push eax
push 0x4e6ab8
call dword [eax + 4]
add esp, 0xc
pop esi
ret
push eax
push 0x4e6ab8
call dword [eax + 8]
push 0x4e6ab8
call fcn.0049cbea
push 0x4e6ab8
call fcn.0049c95c
mov eax, dword [0x4e69ac]
add esp, 0x10
test eax, eax
je 0x4353f3
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, dword [0x4e6c50]
mov dword [0x4e69ac], 0
mov dword [eax + 0x20], 1
mov eax, dword [0x4e6c50]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x43543f
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x43543f
push ecx
call fcn.0042eb70
mov ecx, dword [0x4e6c50]
mov edx, dword [ecx + 0xc]
push edx
push 0x4e69b4
call dword [sym.imp.MSVCRT.dll_rename]
mov eax, dword [0x4e6c50]
add esp, 0xc
mov ecx, dword [eax + 0x14]
lea esi, [eax + 0x14]
test ecx, ecx
push 0
je 0x43546b
call fcn.0049d6c4
push eax
mov eax, dword [0x4e6c50]
mov ecx, dword [eax + 0x18]
push ecx
call dword [esi]
add esp, 0xc
mov dword [0x4ca37c], 1
pop esi
ret
mov edx, dword [eax + 0x18]
push edx
call dword [eax + 0x10]
add esp, 8
mov dword [0x4ca37c], 1
pop esi
ret
Function at 0x435e90
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 4]
and eax, 0xffff
dec eax
je 0x435eb1
dec eax
je 0x435ea2
xor eax, eax
ret
mov eax, dword [0x4e6c5c]
push 1
push eax
call dword [sym.imp.USER32.dll_EndDialog]
ret
jmp 0x435ec0
sub esp, 0x154
push ebx
push esi
push edi
call fcn.0043bfa0
test eax, eax
je 0x435edc
push 0xdb
jmp 0x435fc3
mov ecx, dword [0x4e6c68]
mov edi, dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x11
push 0x4e6c74
push ecx
call edi
mov edx, dword [0x4e6c88]
push 0xd
push 0x4e6c90
push edx
call edi
mov ecx, dword [0x4e6c70]
lea eax, [esp + 0x1c]
push 0xd
push eax
push ecx
call edi
mov eax, dword [0x4e6c54]
lea edx, [esp + 0x2c]
push 0x33
push edx
push eax
call edi
lea esi, [esp + 0x1c]
mov eax, 0x4e6c90
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x435f52
test cl, cl
je 0x435f4e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x435f52
add eax, 2
add esi, 2
test cl, cl
jne 0x435f2a
xor eax, eax
jmp 0x435f57
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x435f62
push 0x99
jmp 0x435fc3
mov eax, dword [0x4e6c60]
test eax, eax
je 0x43608d
mov edx, dword [0x4e6ca8]
lea ecx, [esp + 0xc]
push 0xd
push ecx
push edx
call edi
mov al, byte [esp + 0xc]
test al, al
je 0x435fe7
mov esi, 0x4e6c90
lea eax, [esp + 0xc]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x435fb8
test cl, cl
je 0x435fb4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x435fb8
add eax, 2
add esi, 2
test cl, cl
jne 0x435f90
xor eax, eax
jmp 0x435fbd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x435fe7
push 0x11
call fcn.004411b0
add esp, 4
push eax
mov eax, dword [0x4e6ca0]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x154
ret
push 0x8a
call fcn.004411b0
mov ecx, dword [0x4e6ca0]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x436390
push 6
call fcn.0040d490
call fcn.0041d7d0
push eax
push 0x1a
call fcn.0040d1b0
push 0x4e6c74
push 0x1b
call fcn.0040d240
push 0x4e6c90
push 0x1c
call fcn.0040d240
lea edx, [esp + 0x4c]
push edx
push 0x1d
call fcn.0040d240
lea eax, [esp + 0x34]
push eax
push 0x1f
call fcn.0040d240
push 0xe
call fcn.0040d180
add esp, 0x34
cmp eax, 0x1c
jl 0x43607c
mov edx, dword [0x4e6c58]
lea ecx, [esp + 0x60]
push 0x100
push ecx
push edx
call edi
lea eax, [esp + 0x60]
push eax
push 0x28
call fcn.0040d240
add esp, 8
call fcn.0040e470
test eax, eax
je 0x4360ec
push eax
push 0x8b
jmp 0x4360e4
push 0x42
call fcn.004411b0
mov ecx, dword [0x4e6ca0]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x4e6c74
push 0x1b
call fcn.0040d240
push 0x4e6c90
push 0x1c
call fcn.0040d240
lea edx, [esp + 0x3c]
push edx
push 0x1d
call fcn.0040d240
push 0x436320
push 0xc
call fcn.0040d490
add esp, 0x20
call fcn.00410830
test eax, eax
je 0x4360ec
push eax
push 0x4c
call fcn.00436100
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x154
ret
Function at 0x437740
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push eax
push 0xffffffffffffffff
push ecx
push edx
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntA]
ret

Function at 0x438880
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 4]
push eax
call fcn.00438440
lea ecx, [eax + eax*8]
add esp, 4
cmp eax, 0x2a
mov dword [eax + ecx*2 + 0x4e6ce7], 0
je 0x4388a5
cmp eax, 0x36
jne 0x4388aa
jmp fcn.004388b0
ret

Function at 0x4388e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 4]
push esi
push eax
call fcn.00438440
mov esi, eax
add esp, 4
test esi, esi
je 0x43899d
cmp esi, 0x200
jae 0x43899d
cmp esi, 0x2a
je 0x43890e
cmp esi, 0x36
jne 0x438913
call fcn.004388b0
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x438936
mov eax, str.SROPQKLMGHIEF
cmp dword [eax], esi
je 0x43899d
add eax, 4
cmp eax, 0x4ca710
jb 0x438928
call fcn.00440ca0
test eax, eax
jne 0x43897a
push edi
mov edx, str.X7JN
mov eax, 1
cmp dword [edx], esi
jne 0x43896a
lea ecx, [esi + esi*8]
lea ecx, [esi + ecx*2]
mov edi, dword [ecx + 0x4e6ce7]
test edi, edi
jne 0x438964
mov dword [ecx + 0x4e6ce3], eax
mov dword [ecx + 0x4e6ce7], eax
add edx, 4
cmp edx, 0x4ca710
jb 0x43894a
pop edi
xor eax, eax
pop esi
ret
lea edx, [esi + esi*8]
mov eax, 1
lea ecx, [esi + edx*2]
mov edx, dword [ecx + 0x4e6ce7]
test edx, edx
jne 0x438995
mov dword [ecx + 0x4e6ce3], eax
mov dword [ecx + 0x4e6ce7], eax
pop esi
ret
xor eax, eax
pop esi
ret

Function at 0x4389b0
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 4]
push ebx
push esi
push edi
push eax
call fcn.00438440
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 4
mov ebx, eax
mov esi, str.X7JN
cmp dword [esi], 0x53
jne 0x4389de
push 0x90
call edi
test ax, ax
jne 0x4389ed
cmp ebx, dword [esi]
je 0x4389f6
add esi, 4
cmp esi, 0x4ca710
jb 0x4389cd
pop edi
pop esi
mov eax, 1
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret

Function at 0x439400
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
push 0x100
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x439490
push 3
call fcn.0040d490
lea edx, [esp + 8]
push edx
call fcn.0040e720
add esp, 0xc
test eax, eax
je 0x439451
push eax
push 0x245
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
jmp 0x439466
push 0x246
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [0x4e93e0], 3
mov eax, 1
add esp, 0x100
ret
Function at 0x439790
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
push 0x100
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp]
push edx
push 0xe3
call fcn.0040d240
push 0x439490
push 3
call fcn.0040d490
add esp, 0x10
call fcn.0040eb70
test eax, eax
je 0x4397eb
push eax
push 0x245
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
jmp 0x439800
push 0x246
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [0x4e93e0], 3
mov eax, 1
add esp, 0x100
ret

Function at 0x439820
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
push 0x100
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp]
push edx
push 0xe3
call fcn.0040d240
push 0x439490
push 3
call fcn.0040d490
add esp, 0x10
call fcn.0040eb00
test eax, eax
je 0x43987b
push eax
push 0x245
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
jmp 0x439890
push 0x246
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [0x4e93e0], 3
mov eax, 1
add esp, 0x100
ret

Function at 0x4398b0
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
mov dword [0x4e93e0], 0
push esi
mov esi, dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe3
call fcn.0040d240
mov ecx, dword [0x4e93ec]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe4
call fcn.0040d240
mov ecx, dword [0x4e93fc]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
push eax
push 0xe5
call fcn.0040d1b0
add esp, 0xc
call fcn.00439c50
test eax, eax
je 0x439a50
mov ecx, dword [0x4e93d8]
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe7
call fcn.0040d240
mov ecx, dword [0x4e93f0]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe8
call fcn.0040d240
mov eax, dword [0x4e93e8]
push eax
push 0xea
call fcn.0040d1b0
mov ecx, dword [0x4e93dc]
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
add esp, 0x10
push 0x30b
push ecx
call esi
cmp eax, 1
jne 0x4399c1
push 0
jmp 0x4399c3
push 1
push 0xed
call fcn.0040d2d0
mov edx, dword [0x4e93dc]
add esp, 8
push 0x30c
push edx
call esi
cmp eax, 1
jne 0x4399e6
push eax
jmp 0x4399e8
push 0
push 0xee
call fcn.0040d2d0
add esp, 8
push 0x439a60
push 4
call fcn.0040d490
add esp, 8
call fcn.0040e7a0
test eax, eax
je 0x439a35
push eax
push 0x249
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
pop esi
add esp, 0x100
ret
push 0x24a
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
pop esi
add esp, 0x100
ret
Function at 0x439c50
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93f8]
sub esp, 0x100
lea eax, [esp]
push esi
push 0x100
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov ecx, eax
mov esi, 0x14
cdq
idiv esi
add esp, 4
pop esi
test edx, edx
je 0x439cec
mov eax, dword [0x4e93e0]
push 0x252
test eax, eax
jne 0x439cc2
call fcn.004411b0
push eax
push 0x249
call fcn.004411f0
add esp, 0xc
push eax
mov eax, dword [0x4e93f4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
add esp, 0x100
ret
call fcn.004411b0
push eax
push 0x24f
call fcn.004411f0
mov ecx, dword [0x4e93f4]
add esp, 0xc
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
add esp, 0x100
ret
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0xe6
call fcn.0040d1b0
add esp, 8
mov eax, 1
add esp, 0x100
ret

Function at 0x439d20
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
mov dword [0x4e93e0], 1
push esi
mov esi, dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe3
call fcn.0040d240
mov ecx, dword [0x4e93ec]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe4
call fcn.0040d240
mov ecx, dword [0x4e93fc]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
push eax
push 0xe5
call fcn.0040d1b0
add esp, 0xc
call fcn.00439c50
test eax, eax
je 0x439ec0
mov ecx, dword [0x4e93d8]
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe7
call fcn.0040d240
mov ecx, dword [0x4e93f0]
add esp, 8
lea eax, [esp + 4]
push 0x100
push eax
push ecx
call esi
lea edx, [esp + 4]
push edx
push 0xe8
call fcn.0040d240
mov eax, dword [0x4e93e8]
push eax
push 0xea
call fcn.0040d1b0
mov ecx, dword [0x4e93dc]
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
add esp, 0x10
push 0x30b
push ecx
call esi
cmp eax, 1
jne 0x439e31
push 0
jmp 0x439e33
push 1
push 0xed
call fcn.0040d2d0
mov edx, dword [0x4e93dc]
add esp, 8
push 0x30c
push edx
call esi
cmp eax, 1
jne 0x439e56
push eax
jmp 0x439e58
push 0
push 0xee
call fcn.0040d2d0
add esp, 8
push 0x439a60
push 4
call fcn.0040d490
add esp, 8
call fcn.0040e910
test eax, eax
je 0x439ea5
push eax
push 0x24f
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
pop esi
add esp, 0x100
ret
push 0x251
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
pop esi
add esp, 0x100
ret
Function at 0x439ed0
Capabilities:
Get graphical window text

Disassembly:
mov ecx, dword [0x4e93e4]
sub esp, 0x100
lea eax, [esp]
push 0x100
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x439a60
push 4
call fcn.0040d490
lea edx, [esp + 8]
push edx
call fcn.0040ea80
add esp, 0xc
test eax, eax
je 0x439f31
push eax
push 0x24b
call fcn.004411f0
add esp, 8
push eax
mov eax, dword [0x4e93f4]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
add esp, 0x100
ret
push 0x24c
call fcn.004411b0
mov ecx, dword [0x4e93f4]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [0x4e93e0], 2
mov eax, 1
add esp, 0x100
ret