Function at 0x4469b3
Capabilities:
Get keyboard layout
Parse credit card information

Disassembly:
push ebp
mov eax, 0xe328
lea ebp, [esp - 0x6c]
call fcn.004561f0
mov eax, dword [ebp + 0x74]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
mov dword [ebp + 0x60], ecx
je 0x447b7e
cmp byte [eax], bl
je 0x447b7e
mov eax, dword [0x46868c]
cmp eax, ebx
mov dword [ebp + 4], eax
jne 0x4469f4
mov eax, dword [ecx + 0x494]
mov dword [0x468040], eax
xor eax, eax
mov byte [ebp - 0xa2b8], bl
mov ecx, 0x1000
lea edi, [ebp - 0xa2b7]
rep stosd dword es:[edi], eax
push 0x4585d8
push dword [ebp + 0x74]
lea eax, [ebp - 0x62b4]
lea esi, [ebp - 0xe2bc]
lea ecx, [ebp - 0x14c]
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x30], esi
call fcn.0044e912
test eax, eax
je 0x446a4e
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push dword [ebp + 0x74]
push ebx
push str.EXE_corrupted
jmp 0x447b76
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
push eax
push str._AUTOHOTKEY_SCRIPT_
lea ecx, [ebp - 0x14c]
call fcn.0044ecea
test eax, eax
jne 0x446a78
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x4b1], bl
jmp 0x446b0f
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
push eax
push str._AHK_WITH_ICON_
lea ecx, [ebp - 0x14c]
call fcn.0044ecea
test eax, eax
jne 0x446aa0
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x4b1], 1
jmp 0x446b0f
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
push eax
push 0x459654
lea ecx, [ebp - 0x14c]
call fcn.0044ecea
test eax, eax
jne 0x446ac7
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x4b1], bl
jmp 0x446af1
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x68]
push eax
push 0x45964c
lea ecx, [ebp - 0x14c]
call fcn.0044ecea
test eax, eax
jne 0x447b5a
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x4b1], 1
mov cl, byte [ebp + 0x34]
add cl, 0x40
jne 0x446afb
mov cl, pe_nt_image_headers32
xor edx, edx
cmp dword [ebp + 0x34], ebx
jbe 0x446b0f
mov eax, dword [ebp + 0x68]
add eax, edx
sub byte [eax], cl
inc edx
cmp edx, dword [ebp + 0x34]
jb 0x446b02
mov eax, dword [ebp + 0x68]
inc dword [0x46868c]
or dword [ebp + 0x14], 0xffffffff
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 4]
mov dword [edi + 0x48], eax
mov eax, 0x4000
cmp dword [ebp + 0x34], eax
mov byte [ebp + 0x3f], bl
mov byte [ebp + 0x49], bl
mov byte [ebp + 0x46], bl
jg 0x446b3b
mov eax, dword [ebp + 0x34]
lea ecx, [ebp + 0x20]
push ecx
push ebx
push eax
lea eax, [ebp - 0x62b4]
push eax
mov ecx, edi
call fcn.0044e65b
push 2
mov dword [ebp + 0x58], eax
lea eax, [ebp - 0x62b4]
push 0x45c25c
push eax
call fcn.004564c0
add esp, 0xc
neg eax
sbb al, al
inc al
mov byte [ebp + 0x77], al
je 0x446b7c
mov byte [ebp - 0x62b4], bl
mov dword [ebp + 0x58], ebx
cmp dword [ebp + 0x58], 0xffffffff
je 0x447afe
mov eax, dword [ebp + 0x14]
push 0xc
push str.CommentFlag
push dword [ebp + 0x64]
inc eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x23c], ebx
call fcn.00441854
add esp, 0xc
test eax, eax
jne 0x446bbb
push dword [ebp + 0x64]
mov ecx, edi
call fcn.00447c0e
test eax, eax
je 0x447b28
mov byte [ebp + 8], bl
mov dword [ebp + 0x54], ebx
mov eax, dword [ebp + 0x34]
sub eax, dword [ebp + 0x20]
inc dword [ebp + 0x14]
add eax, dword [ebp + 0x68]
mov ecx, 0x4000
cmp eax, ecx
jle 0x446bd8
mov eax, ecx
lea ecx, [ebp + 0x20]
push ecx
push dword [ebp + 0x54]
mov ecx, dword [ebp + 0x60]
push eax
push esi
call fcn.0044e65b
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x1c], edi
je 0x446d59
cmp edi, 0xffffffff
je 0x446d59
cmp byte [ebp + 0x77], bl
je 0x446d2f
push 2
push 0x45c258
push esi
call fcn.004564c0
add esp, 0xc
test eax, eax
jne 0x446bc1
dec edi
dec edi
lea eax, [edi + 1]
push eax
lea eax, [esi + 2]
push eax
push esi
mov byte [ebp + 0x77], bl
call fcn.00455e40
push edi
push esi
call fcn.00409baa
add esp, 0x14
cmp byte [esi], bl
mov edi, eax
mov dword [ebp + 0x1c], edi
je 0x446bc1
cmp dword [ebp + 0x54], ebx
jne 0x447069
cmp edi, 0xffffffff
je 0x446dc9
cmp byte [esi], 0x28
jne 0x446dc9
lea eax, [esi + 1]
cmp byte [eax], 0x3a
je 0x446dc9
cmp byte [edi + esi - 1], 0x3a
je 0x446dc9
mov cl, byte [0x465c30]
push eax
mov dword [ebp + 0x54], 1
mov byte [ebp + 8], 1
mov dword [ebp + 0x18], ebx
mov byte [ebp + 0x3c], cl
mov byte [ebp + 0x39], 1
mov byte [ebp + 0x3a], bl
mov byte [ebp + 0x3e], bl
mov byte [ebp + 0x3d], 1
mov byte [ebp - 0x18], 0xa
mov byte [ebp - 0x17], bl
mov dword [ebp + 0x24], 1
call fcn.00401a22
mov edi, eax
cmp byte [edi], bl
pop ecx
je 0x446bc1
push 0x459be0
push edi
call fcn.00438f35
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x446cda
push edi
call fcn.00455c50
mov esi, eax
pop ecx
add esi, edi
mov al, byte [esi]
push 4
push str.Join
push edi
mov byte [ebp + 0x4e], al
mov byte [esi], bl
call fcn.00441854
add esp, 0xc
test eax, eax
jne 0x446fdc
push 0x10
add edi, 4
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.00438c79
xor eax, eax
mov al, byte [0x46308e]
push 1
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00437c80
lea eax, [ebp - 0x18]
push eax
call fcn.00455c50
add esp, 0x1c
mov dword [ebp + 0x24], eax
jmp 0x44704b
cmp dword [ebp + 0x54], ebx
jne 0x447069
push 2
push 0x45c25c
push esi
call fcn.004564c0
add esp, 0xc
test eax, eax
jne 0x446c4f
mov byte [ebp + 0x77], 1
jmp 0x446bc1
cmp byte [ebp + 0x77], bl
je 0x446c46
cmp edi, 0xffffffff
jne 0x446bc1
cmp dword [ebp + 0x58], ebx
je 0x4478c0
cmp byte [ebp - 0xa2b8], bl
mov esi, dword [ebp + 0x60]
je 0x447213
mov eax, dword [ebp + 0x10]
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x64]
cmp byte [eax], 0x7b
je 0x4471c8
cmp byte [ebp + 0x3b], bl
jne 0x4471c8
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea eax, [ebp - 0xa2b8]
push eax
mov ecx, esi
call fcn.00448517
test eax, eax
je 0x447b28
mov dword [esi + 0x23c], ebx
jmp 0x44720a
cmp edi, 0xffffffff
mov dword [ebp + 0x54], ebx
je 0x446d6b
cmp edi, ebx
je 0x446bc1
cmp byte [edi + esi - 1], 0x3a
jne 0x446de5
cmp byte [esi], 0x2c
jne 0x446d6b
movsx eax, byte [esi]
push eax
call fcn.00441c9f
cmp eax, 0x41
pop ecx
je 0x446f4d
cmp eax, 0x4f
je 0x446f34
mov cl, byte [esi]
cmp cl, 0x3a
je 0x446e12
cmp cl, 0x2b
je 0x446e12
cmp cl, 0x2d
jne 0x446e1b
cmp byte [esi + 1], cl
je 0x446d6b
cmp cl, 0x2e
je 0x446e25
cmp cl, 0x3f
jne 0x446e3c
mov al, byte [esi + 1]
cmp al, 0x20
je 0x446e3c
cmp al, 9
je 0x446e3c
cmp al, 0xa0
je 0x446e3c
cmp al, 0x3d
jne 0x446d6b
movsx eax, cl
push eax
push str.____:.___
call fcn.00455d80
test eax, eax
pop ecx
pop ecx
je 0x446d6b
push 0x45bea0
push esi
call fcn.00455ce0
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x446f9c
cmp byte [esi], 0x3a
jne 0x446eb5
lea edi, [esi + 1]
jmp 0x446ea1
cmp al, 0x3a
je 0x446d6b
movsx eax, al
push eax
call fcn.0043bfde
test eax, eax
pop ecx
jne 0x446ea0
movsx eax, byte [edi]
push eax
push str.____t
call fcn.00455d80
test eax, eax
pop ecx
pop ecx
je 0x446eaf
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x446e76
cmp al, 0x3a
je 0x446d6b
mov eax, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x1c]
cmp byte [esi], 0x2c
jne 0x446eff
lea eax, [esi + 1]
push eax
call fcn.00401a22
push 2
push 0x45bea0
push eax
mov dword [ebp + 0x5c], eax
call fcn.004564c0
add esp, 0x10
test eax, eax
je 0x446d6b
mov eax, dword [ebp + 0x5c]
push 3
dec eax
push 0x459b44
push eax
call fcn.004564c0
add esp, 0xc
test eax, eax
je 0x446d6b
jmp 0x446f9c
cmp esi, eax
mov ecx, esi
jae 0x446f0f
cmp byte [ecx], 0x22
je 0x446f0f
inc ecx
cmp ecx, eax
jb 0x446f05
cmp ecx, eax
je 0x446d6b
add eax, 2
mov cl, byte [eax]
cmp cl, bl
je 0x446d6b
cmp cl, 0x22
je 0x446f30
inc eax
mov cl, byte [eax]
cmp cl, bl
jne 0x446f24
cmp byte [eax], bl
jmp 0x446ef4
movsx eax, byte [esi + 1]
push eax
call fcn.00441c9f
cmp eax, 0x52
pop ecx
jne 0x446d6b
lea eax, [esi + 2]
jmp 0x446f68
push 3
push 0x45bee8
push esi
call fcn.00441854
add esp, 0xc
test eax, eax
jne 0x446d6b
lea eax, [esi + 3]
mov cl, byte [eax]
cmp cl, 0x20
je 0x446f7d
cmp cl, 9
je 0x446f7d
cmp cl, 0xa0
jne 0x446d6b
push eax
call fcn.00401a22
movsx eax, byte [eax]
push eax
push str.____:
call fcn.00455d80
add esp, 0xc
test eax, eax
jne 0x446d6b
mov eax, dword [ebp + 0x58]
lea ecx, [edi + eax]
cmp ecx, 0x4000
jae 0x447a86
cmp byte [esi], 0x2c
je 0x446fbe
mov ecx, dword [ebp + 0x64]
mov byte [eax + ecx], 0x20
inc eax
mov dword [ebp + 0x58], eax
lea eax, [edi + 1]
push eax
push esi
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x58]
add eax, ecx
push eax
call fcn.00455650
add esp, 0xc
add dword [ebp + 0x58], edi
jmp 0x446bc1
push 5
push str.LTrim
push edi
call fcn.00441854
add esp, 0xc
test eax, eax
jne 0x446ffa
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x3c]
jmp 0x44704b
push 5
push str.RTrim
push edi
call fcn.00441854
add esp, 0xc
test eax, eax
jne 0x447045
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x39]
jmp 0x44704b
cmp al, 0x25
je 0x447040
cmp al, 0x2c
je 0x44703b
cmp al, 0x43
je 0x44702c
cmp al, 0x60
je 0x447035
cmp al, 0x63
jne 0x447044
mov dword [ebp + 0x54], 2
jmp 0x447044
mov byte [ebp + 0x3a], 1
jmp 0x447044
mov byte [ebp + 0x3d], bl
jmp 0x447044
mov byte [ebp + 0x3e], 1
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x447018
mov al, byte [ebp + 0x4e]
push esi
mov byte [esi], al
call fcn.00401a22
mov edi, eax
cmp byte [edi], bl
pop ecx
jne 0x446cbc
mov esi, dword [ebp + 0x30]
jmp 0x446bc1
cmp edi, 0xffffffff
je 0x447aef
cmp edi, 0xfffffffe
je 0x446bc1
cmp byte [esi], 0x29
jne 0x44709a
lea eax, [esi + 1]
push 0xffffffffffffffff
push esi
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x5c], eax
call fcn.00409bf9
mov edi, eax
pop ecx
dec edi
jmp 0x44716f
cmp byte [ebp + 0x39], bl
mov dword [ebp + 0x5c], esi
je 0x4470ad
push edi
push esi
call fcn.00409bf9
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x3c], bl
je 0x4470bd
push edi
push esi
call fcn.00409baa
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x3a], bl
mov dword [ebp + 0x50], ebx
je 0x4470f2
mov al, byte [0x46308e]
push ebx
push ebx
push 0x4001
push 0xffffffffffffffff
mov byte [ebp + 0x48], al
mov byte [ebp + 0x44], al
mov byte [ebp + 0x45], al
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x48]
push eax
push esi
call fcn.0041a645
add esp, 0x20
mov dword [ebp + 0x50], eax
cmp byte [ebp + 0x3e], bl
je 0x44712a
mov al, byte [0x46308d]
mov cl, byte [0x46308e]
push ebx
push ebx
push 0x4001
push 0xffffffffffffffff
mov byte [ebp + 0x48], al
mov byte [ebp + 0x45], al
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x48]
push eax
push esi
mov byte [ebp + 0x44], cl
call fcn.0041a645
add esp, 0x20
add dword [ebp + 0x50], eax
cmp byte [ebp + 0x3d], bl
je 0x447162
mov al, byte [0x46308c]
mov cl, byte [0x46308e]
push ebx
push ebx
push 0x4001
push 0xffffffffffffffff
mov byte [ebp + 0x48], al
mov byte [ebp + 0x45], al
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x48]
push eax
push esi
mov byte [ebp + 0x44], cl
call fcn.0041a645
add esp, 0x20
add dword [ebp + 0x50], eax
cmp dword [ebp + 0x50], ebx
je 0x447170
push esi
call fcn.00455c50
mov edi, eax
pop ecx
mov eax, dword [ebp + 0x24]
lea ecx, [eax + edi]
add ecx, dword [ebp + 0x58]
cmp ecx, 0x4001
jae 0x447af9
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], 1
jle 0x4471b4
cmp eax, ebx
je 0x4471b4
cmp dword [ebp + 0x5c], esi
jne 0x4471b4
mov ecx, dword [ebp + 0x64]
inc eax
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0x58]
add eax, ecx
push eax
call fcn.00455650
mov eax, dword [ebp + 0x24]
add esp, 0xc
add dword [ebp + 0x58], eax
cmp edi, ebx
je 0x446bc1
lea eax, [edi + 1]
push eax
push dword [ebp + 0x5c]
jmp 0x446fc3
cmp dword [0x4651cc], ebx
mov ecx, esi
jne 0x447a99
lea eax, [ebp - 0x22b0]
push eax
lea eax, [ebp - 0xa2b8]
push eax
call fcn.0044c906
test eax, eax
je 0x447b28
cmp byte [ebp + 0x3b], bl
je 0x44720a
push ebx
push ebx
push ebx
push 0x6b
mov ecx, esi
call fcn.00449a4c
test eax, eax
je 0x447b28
mov dword [esi + 0x4c], edi
mov byte [ebp - 0xa2b8], bl
lea eax, [ebp + 0x3b]
push eax
push dword [ebp + 0x64]
call fcn.00447b8a
test al, al
pop ecx
pop ecx
je 0x447241
push dword [ebp + 0x64]
lea eax, [ebp - 0xa2b8]
push eax
call fcn.00455a20
mov eax, dword [esi + 0x4c]
pop ecx
pop ecx
mov dword [ebp + 0x10], eax
jmp 0x4478c0
mov edx, dword [ebp + 0x64]
cmp byte [edx], 0x3a
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x5c], ebx
jne 0x447343
lea eax, [edx + 1]
mov cl, byte [eax]
cmp cl, bl
je 0x447343
cmp cl, 0x3a
je 0x447284
push 0x3a
push eax
mov dword [ebp + 0x28], eax
call fcn.00455d80
cmp eax, ebx
pop ecx
pop ecx
jne 0x447281
mov dword [ebp + 0x54], ebx
jmp 0x447343
inc eax
jmp 0x44728f
lea eax, [edx + 2]
cmp byte [eax], bl
je 0x447343
cmp eax, ebx
mov dword [ebp + 0x54], eax
je 0x447343
mov esi, eax
mov al, byte [esi]
cmp al, bl
je 0x447336
cmp al, byte [0x46308e]
je 0x4472b9
cmp al, 0x3a
je 0x4472b9
inc esi
mov al, byte [esi]
cmp al, bl
jne 0x4472a6
mov al, byte [esi]
cmp al, bl
je 0x447336
cmp al, 0x3a
lea edi, [esi + 1]
jne 0x4472cf
cmp byte [edi], al
jne 0x447330
mov dword [ebp + 0x5c], esi
jmp 0x44732e
movsx eax, byte [edi]
sub eax, 0x61
je 0x44730f
dec eax
je 0x44730a
sub eax, 4
je 0x447305
sub eax, 8
je 0x447300
sub eax, 4
je 0x4472fb
dec eax
dec eax
je 0x4472f6
dec eax
dec eax
jne 0x447312
mov byte [edi], 0xb
jmp 0x447312
mov byte [edi], 9
jmp 0x447312
mov byte [edi], 0xd
jmp 0x447312
mov byte [edi], 0xa
jmp 0x447312
mov byte [edi], 0xc
jmp 0x447312
mov byte [edi], 8
jmp 0x447312
mov byte [edi], 7
push edi
call fcn.00455c50
inc eax
push eax
push edi
push esi
call fcn.00455e40
add esp, 0x10
cmp byte [esi], 0x3a
jne 0x447330
cmp byte [edi], 0x3a
jne 0x447330
mov esi, edi
inc esi
jmp 0x44729c
cmp dword [ebp + 0x5c], ebx
jne 0x44733e
mov dword [ebp + 0x54], ebx
cmp dword [ebp + 0x54], ebx
jne 0x44739c
mov esi, dword [ebp + 0x64]
push 0x45bea0
push esi
call fcn.00455ce0
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x447689
cmp eax, esi
jne 0x44736c
cmp byte [eax + 2], 0x3a
jne 0x44736c
inc eax
mov dword [ebp + 0x5c], eax
push eax
push esi
call fcn.00438e81
pop ecx
pop ecx
mov edi, eax
mov al, byte [edi]
push ebx
push ebx
push esi
mov byte [ebp + 0x4e], al
mov byte [edi], bl
call fcn.00401a22
pop ecx
push eax
call fcn.0040e51d
add esp, 0xc
test eax, eax
jne 0x447397
mov dword [ebp + 0x5c], ebx
mov al, byte [ebp + 0x4e]
mov byte [edi], al
cmp dword [ebp + 0x5c], ebx
je 0x447689
mov eax, dword [ebp + 0x64]
cmp dword [ebp + 0x5c], eax
jbe 0x447689
cmp dword [0x4651cc], ebx
jne 0x447aa7
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x4473d0
cmp byte [eax], 0x1b
je 0x447ab1
mov eax, dword [ebp + 0x5c]
add dword [ebp + 0x5c], 2
cmp dword [ebp + 0x54], ebx
mov edi, dword [ebp + 0x5c]
mov byte [eax], bl
jne 0x447558
push 0xffffffffffffffff
push edi
call fcn.00409baa
push 0xffffffffffffffff
push dword [ebp + 0x64]
call fcn.00409bf9
add esp, 0x10
cmp byte [edi], bl
mov dword [ebp + 0x5c], edi
je 0x447558
push ebx
push ebx
push dword [ebp + 0x64]
call fcn.0040e854
mov esi, dword [sym.imp.USER32.dll_GetKeyboardLayout]
add esp, 0xc
push ebx
mov dword [ebp + 0x50], eax
call esi
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x50]
call fcn.00413156
add esp, 0x14
cmp al, bl
mov byte [ebp + 0xc], al
je 0x447558
cmp byte [edi + 1], bl
je 0x447464
push ebx
push ebx
push edi
call fcn.0040e854
add esp, 0xc
push ebx
mov dword [ebp + 0x5c], eax
call esi
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x5c]
call fcn.00413156
add esp, 0x14
mov byte [ebp + 0x3f], al
jmp 0x447468
mov byte [ebp + 0x3f], 0xff
cmp byte [ebp + 0x3f], bl
je 0x447558
push dword [ebp + 0x3f]
call fcn.00444490
push dword [ebp + 0xc]
mov byte [ebp + 0x4f], al
call fcn.00444490
test al, al
pop ecx
pop ecx
jne 0x447493
cmp byte [ebp + 0x4f], bl
mov byte [ebp + 0x43], 1
jne 0x447496
mov byte [ebp + 0x43], bl
mov esi, dword [ebp + 0x50]
push esi
call fcn.00455c50
cmp eax, 1
pop ecx
jne 0x4474b9
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x45c214
jne 0x4474be
mov eax, 0x4585d8
push dword [ebp + 0x64]
push eax
push str._s_s
lea eax, [ebp - 0x16c]
push 0x20
push eax
call fcn.00409c5f
push 0x20
push dword [ebp + 0x5c]
lea eax, [ebp - 0x38]
push eax
call fcn.00438c79
push 8
lea eax, [ebp - 8]
push edi
push eax
call fcn.00438c79
mov eax, dword [ebp + 0x5c]
sub eax, edi
add esp, 0x2c
cmp eax, 8
jae 0x447500
mov byte [ebp + eax - 8], bl
cmp byte [ebp - 8], bl
mov dword [ebp + 0x2c], ebx
jne 0x4478c0
movzx eax, byte [ebp + 0x3f]
sub eax, 0xd
je 0x44753d
sub eax, 4
je 0x447527
dec eax
dec eax
je 0x447555
sub eax, 0x4c
jne 0x4478c0
push 0x459f68
push edi
call fcn.00438f35
test eax, eax
pop ecx
pop ecx
jne 0x447555
jmp 0x4478c0
lea eax, [ebp - 0x38]
push str.Return
push eax
call fcn.00441811
test eax, eax
pop ecx
pop ecx
jne 0x4478c0
mov byte [ebp + 0x3f], bl
mov esi, dword [ebp + 0x60]
cmp byte [esi + 0x50], bl
je 0x447581
push ebx
push 0xff
push ebx
push 0x66
mov ecx, esi
mov byte [esi + 0x50], bl
call fcn.00449a4c
test eax, eax
je 0x447b28
mov dword [esi + 0x23c], ebx
push 1
push dword [ebp + 0x64]
mov ecx, esi
call fcn.0044db14
test eax, eax
je 0x447b28
cmp byte [edi], bl
mov dword [ebp + 0x50], ebx
je 0x4475ec
cmp dword [ebp + 0x54], ebx
jne 0x4475d8
push ebx
push edi
call fcn.0040dcb6
cmp ax, bx
pop ecx
pop ecx
mov dword [ebp + 0x50], eax
jne 0x4475d8
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00447b8a
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, esi
and eax, 3
push eax
push edi
call fcn.00448517
test eax, eax
je 0x447b28
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.00449a4c
test eax, eax
je 0x447b28
mov eax, dword [ebp + 0x54]
cmp eax, ebx
je 0x447619
cmp byte [eax], bl
je 0x447ac7
mov eax, dword [ebp + 0x28]
cmp eax, ebx
jne 0x447607
mov eax, 0x4585d8
push dword [ebp + 8]
push edi
push dword [ebp + 0x54]
push eax
push dword [esi + 0x10]
call fcn.0040d15c
jmp 0x447681
lea eax, [ebp]
push eax
push dword [ebp + 0x64]
call fcn.0040e43c
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x447671
mov eax, dword [ebp + 0x50]
cmp ax, bx
je 0x44763e
mov word [edi + 2], ax
jmp 0x4478c0
mov ecx, edi
call fcn.0040f391
test eax, eax
jne 0x447ad4
push dword [ebp]
mov ecx, edi
push dword [esi + 0x10]
call fcn.0040f259
test eax, eax
jne 0x4478c0
push dword [ebp + 0x64]
push str.Out_of_memory.
mov ecx, esi
jmp 0x447a8f
push ebx
push dword [ebp]
push ebx
push dword [ebp + 0x50]
push dword [esi + 0x10]
call fcn.0040dc2b
add esp, 0x14
jmp 0x4478b8
mov esi, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + esi - 1], 0x3a
jne 0x447767
cmp ecx, 1
je 0x447ae7
mov al, byte [esi]
mov edi, esi
jmp 0x4476d4
cmp al, 0x20
je 0x447767
cmp al, 9
je 0x447767
cmp al, byte [0x46308c]
je 0x447767
cmp al, byte [0x46308e]
je 0x447767
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x4476a9
cmp byte [ecx + esi - 2], 0x3a
jne 0x447749
cmp ecx, 2
jbe 0x447749
mov edi, dword [ebp + 0x60]
cmp byte [edi + 0x50], bl
je 0x44770d
push ebx
push 0xff
push ebx
push 0x66
mov ecx, edi
mov byte [edi + 0x50], bl
call fcn.00449a4c
test eax, eax
je 0x447b28
mov dword [edi + 0x23c], ebx
push esi
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
lea eax, [ebp - 0x370]
push 0x204
push eax
call fcn.00409c5f
fldz
add esp, 0x10
push ebx
push ecx
push ecx
fstp qword [esp]
push ebx
lea eax, [ebp - 0x370]
push 0x10000
push eax
call fcn.0043b5df
mov ecx, dword [ebp + 0x58]
add esp, 0x18
jmp 0x44774c
mov edi, dword [ebp + 0x60]
dec ecx
push ecx
push esi
mov byte [ecx + esi], bl
call fcn.00409bf9
pop ecx
pop ecx
push ebx
push esi
mov ecx, edi
call fcn.0044db14
jmp 0x4478b8
cmp byte [esi], 0x23
mov edi, dword [ebp + 0x60]
jne 0x44779b
mov eax, dword [edi + 0x4c]
push esi
mov ecx, edi
mov dword [ebp + 0x28], eax
call fcn.00447c0e
cmp eax, ebx
je 0x447b28
cmp eax, 3
jne 0x44779b
mov eax, dword [ebp + 4]
mov dword [edi + 0x48], eax
mov eax, dword [ebp + 0x28]
mov dword [edi + 0x4c], eax
jmp 0x4478c0
cmp byte [esi], 0x7d
jne 0x4477d6
push ebx
push ebx
push ebx
push 0x6c
mov ecx, edi
call fcn.00449a4c
test eax, eax
je 0x447b28
inc esi
push esi
call fcn.00401a22
cmp byte [eax], bl
pop ecx
mov dword [ebp + 0x64], eax
je 0x4478c0
mov esi, eax
push esi
call fcn.00455c50
mov edi, dword [ebp + 0x60]
pop ecx
mov dword [ebp + 0x58], eax
push str._t__
push esi
call fcn.00438f35
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x50], eax
jne 0x4477f2
mov eax, dword [ebp + 0x58]
add eax, esi
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x50]
push 0xffffffffffffffff
sub eax, esi
push eax
push str.Else
push esi
call fcn.00438c99
add esp, 0x10
test eax, eax
push ebx
push ebx
mov ecx, edi
push ebx
je 0x447861
cmp byte [esi], 0x7b
jne 0x44785b
push 0x6b
call fcn.00449a4c
test eax, eax
je 0x447b28
inc esi
push esi
call fcn.00401a22
mov esi, eax
cmp byte [esi], bl
pop ecx
je 0x4478c0
mov edi, dword [ebp + 0x60]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push esi
mov dword [edi + 0x23c], ebx
call fcn.00447b8a
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, edi
and eax, 3
push eax
push esi
jmp 0x4478b3
push ebx
push ebx
push ebx
push esi
jmp 0x4478b3
push 9
call fcn.00449a4c
test eax, eax
je 0x447b28
push dword [ebp + 0x50]
mov dword [edi + 0x23c], ebx
call fcn.00401a22
mov edi, eax
mov al, byte [edi]
cmp al, byte [0x46308c]
pop ecx
jne 0x447895
inc edi
push edi
call fcn.00401a22
pop ecx
mov edi, eax
cmp byte [edi], bl
je 0x4478c0
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00447b8a
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
and eax, 3
push eax
push edi
call fcn.00448517
test eax, eax
je 0x447b28
cmp byte [ebp + 0x3f], bl
je 0x447a55
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
dec eax
je 0x4479da
dec eax
je 0x44791a
dec eax
je 0x4479f9
sub eax, 7
jne 0x447a55
cmp byte [ebp + 0x3f], 0x12
mov ecx, 0x4585d8
je 0x447900
cmp byte [ebp + 0x3f], 0xa3
jbe 0x44796e
cmp byte [ebp + 0x3f], 0xa5
ja 0x44796e
movzx eax, byte [ebp + 0xc]
sub eax, 0x11
je 0x447969
sub eax, 0x91
je 0x447969
dec eax
jne 0x44796e
mov ecx, str.RCtrl_up
jmp 0x44796e
push 0x45c18c
push dword [ebp + 0x64]
call fcn.00455a20
cmp byte [ebp + 0x4f], bl
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
push ebx
lea eax, [ebp + 0x64]
push 1
push eax
setne al
add al, 0xb8
push eax
call fcn.00449a4c
cmp byte [ebp + 0x43], bl
je 0x4478e9
lea eax, [ebp - 0x38]
push eax
push str.if_not_GetKeyState___s__
push dword [ebp + 0x64]
call fcn.00409d3b
add esp, 0xc
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x2c], 9
jmp 0x447241
mov ecx, str.LCtrl_up
mov esi, dword [ebp + 0x60]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 8]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push dword [ebp + 0x64]
mov dword [esi + 0x23c], ebx
call fcn.00409d3b
add esp, 0x14
push ebx
push 1
lea eax, [ebp + 0x64]
push eax
push 0x41
mov ecx, esi
call fcn.00449a4c
test eax, eax
je 0x447b28
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.00449a4c
lea eax, [ebp - 0x16c]
push eax
push str._s_up::
push dword [ebp + 0x64]
call fcn.00409d3b
add esp, 0xc
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x2c], 2
jmp 0x447241
lea eax, [ebp - 0x16c]
push eax
push str._s::
push dword [ebp + 0x64]
call fcn.00409d3b
add esp, 0xc
mov dword [ebp + 0x58], eax
jmp 0x447241
push 0x45c18c
push dword [ebp + 0x64]
call fcn.00455a20
cmp byte [ebp + 0x4f], bl
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
push ebx
lea eax, [ebp + 0x64]
push 1
push eax
setne al
add al, 0xb8
push eax
call fcn.00449a4c
lea eax, [ebp - 0x38]
push eax
push str.Blind_s_Up
push dword [ebp + 0x64]
call fcn.00409d3b
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push ebx
push 1
lea eax, [ebp + 0x64]
push eax
push 0x41
call fcn.00449a4c
mov ecx, dword [ebp + 0x60]
push ebx
push ebx
push ebx
push 0x66
call fcn.00449a4c
mov byte [ebp + 0x3f], bl
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x58], ecx
lea ecx, [ebp - 0x62b4]
cmp eax, ecx
mov dword [ebp + 0x64], eax
jne 0x447a7e
lea eax, [ebp - 0xe2bc]
mov edi, dword [ebp + 0x60]
mov dword [ebp + 0x30], eax
mov esi, eax
jmp 0x446b7c
lea eax, [ebp - 0x62b4]
jmp 0x447a71
push esi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 0x60]
call fcn.0044a7cd
jmp 0x447b28
lea eax, [ebp - 0xa2b8]
push eax
push str.Functions_cannot_contain_functions.
jmp 0x447a8f
push dword [ebp + 0x64]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
jmp 0x447a8c
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x64]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x23c], eax
push str.IfWin_should_be_IfWin.
jmp 0x447a8f
push dword [ebp + 0x64]
push str.This_hotstring_is_missing_its_abbreviation.
jmp 0x44766a
push dword [ebp + 0x64]
mov dword [esi + 0x23c], ebx
push str.Duplicate_hotkey.
jmp 0x44766a
push esi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x447a8c
push dword [ebp + 0x64]
push 0x45b8e8
jmp 0x447a8c
push dword [ebp + 0x5c]
jmp 0x447a87
cmp byte [ebp - 0xa2b8], bl
je 0x447b41
mov eax, dword [ebp + 0x10]
mov esi, dword [edi + 0x4c]
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [edi + 0x4c], eax
push 3
lea eax, [ebp - 0xa2b8]
push eax
mov ecx, edi
call fcn.00448517
test eax, eax
jne 0x447b3e
push dword [ebp + 0x68]
call fcn.0043dff1
pop ecx
lea ecx, [ebp - 0x14c]
call fcn.0044eaf7
jmp 0x447b7e
mov dword [edi + 0x4c], esi
push dword [ebp + 0x68]
call fcn.0043dff1
pop ecx
lea ecx, [ebp - 0x14c]
call fcn.0044eaf7
xor eax, eax
inc eax
jmp 0x447b80
lea ecx, [ebp - 0x14c]
call fcn.0044eaf7
fldz
push ebx
push ecx
push ecx
fstp qword [esp]
push dword [ebp + 0x74]
push ebx
push str.Could_not_extract_script_from_EXE.
call fcn.0043b5df
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc