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

Disassembly:
push ebp
mov eax, 0xe428
lea ebp, [esp - 0x6c]
call fcn.00454e20
mov edx, dword [ebp + 0x74]
push ebx
xor ebx, ebx
cmp edx, ebx
push esi
push edi
mov dword [ebp + 0x60], ecx
je 0x447807
cmp byte [edx], bl
je 0x447807
mov eax, dword [0x467bfc]
cmp eax, 0x100
jl 0x446621
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x10000
push str.The_number_of_included_files_cannot_exceed_255.
jmp 0x4477ff
cmp al, bl
mov byte [ebp + 0x5b], al
jne 0x446635
mov eax, dword [ecx + 0x494]
mov dword [0x4671b8], eax
jmp 0x44667c
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x26c]
push eax
push 0x104
push edx
call dword [sym.imp.KERNEL32.DLL_GetFullPathNameA]
cmp byte [ebp + 0x78], bl
jne 0x44667c
movzx esi, byte [ebp + 0x5b]
xor edi, edi
cmp esi, ebx
jle 0x44667c
lea eax, [ebp - 0x26c]
push eax
push dword [edi*4 + 0x4671b8]
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
test eax, eax
je 0x4477de
inc edi
cmp edi, esi
jl 0x44665b
xor eax, eax
mov byte [ebp - 0xa3b8], bl
mov ecx, 0x1000
lea edi, [ebp - 0xa3b7]
rep stosd dword es:[edi], eax
push 0x4575d8
push dword [ebp + 0x74]
lea eax, [ebp - 0x63b4]
lea esi, [ebp - 0xe3bc]
lea ecx, [ebp - 0x148]
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x30], esi
call fcn.0044e26a
test eax, eax
je 0x4466d6
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push dword [ebp + 0x74]
push ebx
push str.EXE_corrupted
jmp 0x4477ff
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x64]
push eax
push str._AUTOHOTKEY_SCRIPT_
lea ecx, [ebp - 0x148]
call fcn.0044e642
test eax, eax
jne 0x4466fa
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x48], bl
jmp 0x446759
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x64]
push eax
push str._AHK_WITH_ICON_
lea ecx, [ebp - 0x148]
call fcn.0044e642
test eax, eax
je 0x446752
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x64]
push eax
push 0x458668
lea ecx, [ebp - 0x148]
call fcn.0044e642
test eax, eax
je 0x4466f2
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x64]
push eax
push 0x458660
lea ecx, [ebp - 0x148]
call fcn.0044e642
test eax, eax
jne 0x4477e3
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x48], 1
cmp byte [ebp + 0x5b], bl
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x28], eax
jbe 0x44677f
lea eax, [ebp - 0x26c]
push 0xffffffffffffffff
push eax
call fcn.0044b90a
pop ecx
pop ecx
movzx ecx, byte [ebp + 0x5b]
mov dword [ecx*4 + 0x4671b8], eax
mov al, byte [ebp + 0x5b]
inc dword [0x467bfc]
or dword [ebp + 0x1c], 0xffffffff
mov byte [edi + 0x49], al
mov eax, dword [ebp + 0x34]
sub eax, dword [ebp + 0x28]
mov ecx, 0x4000
add eax, dword [ebp + 0x64]
mov byte [ebp + 0x3d], bl
cmp eax, ecx
mov byte [ebp + 0x49], bl
mov byte [ebp + 0x46], bl
jle 0x4467ac
mov eax, ecx
lea ecx, [ebp + 0x28]
push ecx
push ebx
push eax
lea eax, [ebp - 0x63b4]
push eax
mov ecx, edi
call fcn.0044dfde
push 2
mov dword [ebp + 0x54], eax
lea eax, [ebp - 0x63b4]
push 0x45b5f4
push eax
call fcn.004550f0
add esp, 0xc
neg eax
sbb al, al
inc al
mov byte [ebp + 0x7b], al
je 0x4467ed
mov byte [ebp - 0x63b4], bl
mov dword [ebp + 0x54], ebx
cmp dword [ebp + 0x54], 0xffffffff
je 0x447787
mov eax, dword [ebp + 0x1c]
push 0xc
push str.CommentFlag
push dword [ebp + 0x68]
inc eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x23c], ebx
call fcn.0044147c
add esp, 0xc
test eax, eax
jne 0x44682c
push dword [ebp + 0x68]
mov ecx, edi
call fcn.00447813
test eax, eax
je 0x4477b1
mov byte [ebp + 0x10], bl
mov dword [ebp + 0x50], ebx
mov eax, dword [ebp + 0x34]
sub eax, dword [ebp + 0x28]
inc dword [ebp + 0x1c]
add eax, dword [ebp + 0x64]
mov ecx, 0x4000
cmp eax, ecx
jle 0x446849
mov eax, ecx
lea ecx, [ebp + 0x28]
push ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x60]
push eax
push esi
call fcn.0044dfde
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x20], edi
je 0x4469ca
cmp edi, 0xffffffff
je 0x4469ca
cmp byte [ebp + 0x7b], bl
je 0x4469a0
push 2
push 0x45b5f0
push esi
call fcn.004550f0
add esp, 0xc
test eax, eax
jne 0x446832
dec edi
dec edi
lea eax, [edi + 1]
push eax
lea eax, [esi + 2]
push eax
push esi
mov byte [ebp + 0x7b], bl
call fcn.00454a70
push edi
push esi
call fcn.0040a9b7
add esp, 0x14
cmp byte [esi], bl
mov edi, eax
mov dword [ebp + 0x20], edi
je 0x446832
cmp dword [ebp + 0x50], ebx
jne 0x446cda
cmp edi, 0xffffffff
je 0x446a3a
cmp byte [esi], 0x28
jne 0x446a3a
lea eax, [esi + 1]
cmp byte [eax], 0x3a
je 0x446a3a
cmp byte [edi + esi - 1], 0x3a
je 0x446a3a
mov cl, byte [0x464da8]
push eax
mov dword [ebp + 0x50], 1
mov byte [ebp + 0x10], 1
mov dword [ebp + 0x14], ebx
mov byte [ebp + 0x41], cl
mov byte [ebp + 0x39], 1
mov byte [ebp + 0x3a], bl
mov byte [ebp + 0x3c], bl
mov byte [ebp + 0x43], 1
mov byte [ebp - 0x14], 0xa
mov byte [ebp - 0x13], bl
mov dword [ebp + 0x24], 1
call fcn.00401aa2
mov edi, eax
cmp byte [edi], bl
pop ecx
je 0x446832
push 0x458bf0
push edi
call fcn.00438acb
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x44694b
push edi
call fcn.00454880
mov esi, eax
pop ecx
add esi, edi
mov al, byte [esi]
push 4
push str.Join
push edi
mov byte [ebp + 0x77], al
mov byte [esi], bl
call fcn.0044147c
add esp, 0xc
test eax, eax
jne 0x446c4d
push 0x10
add edi, 4
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.0043880f
xor eax, eax
mov al, byte [0x46208e]
push 1
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0043784f
lea eax, [ebp - 0x14]
push eax
call fcn.00454880
add esp, 0x1c
mov dword [ebp + 0x24], eax
jmp 0x446cbc
cmp dword [ebp + 0x50], ebx
jne 0x446cda
push 2
push 0x45b5f4
push esi
call fcn.004550f0
add esp, 0xc
test eax, eax
jne 0x4468c0
mov byte [ebp + 0x7b], 1
jmp 0x446832
cmp byte [ebp + 0x7b], bl
je 0x4468b7
cmp edi, 0xffffffff
jne 0x446832
cmp dword [ebp + 0x54], ebx
je 0x447531
cmp byte [ebp - 0xa3b8], bl
mov esi, dword [ebp + 0x60]
je 0x446e84
mov eax, dword [ebp + 0x18]
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x68]
cmp byte [eax], 0x7b
je 0x446e39
cmp byte [ebp + 0x42], bl
jne 0x446e39
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea eax, [ebp - 0xa3b8]
push eax
mov ecx, esi
call fcn.004481a8
test eax, eax
je 0x4477b1
mov dword [esi + 0x23c], ebx
jmp 0x446e7b
cmp edi, 0xffffffff
mov dword [ebp + 0x50], ebx
je 0x4469dc
cmp edi, ebx
je 0x446832
cmp byte [edi + esi - 1], 0x3a
jne 0x446a56
cmp byte [esi], 0x2c
jne 0x4469dc
movsx eax, byte [esi]
push eax
call fcn.004418c7
cmp eax, 0x41
pop ecx
je 0x446bbe
cmp eax, 0x4f
je 0x446ba5
mov cl, byte [esi]
cmp cl, 0x3a
je 0x446a83
cmp cl, 0x2b
je 0x446a83
cmp cl, 0x2d
jne 0x446a8c
cmp byte [esi + 1], cl
je 0x4469dc
cmp cl, 0x2e
je 0x446a96
cmp cl, 0x3f
jne 0x446aad
mov al, byte [esi + 1]
cmp al, 0x20
je 0x446aad
cmp al, 9
je 0x446aad
cmp al, 0xa0
je 0x446aad
cmp al, 0x3d
jne 0x4469dc
movsx eax, cl
push eax
push str.____:.___
call fcn.004549b0
test eax, eax
pop ecx
pop ecx
je 0x4469dc
push 0x45b23c
push esi
call fcn.00454910
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x446c0d
cmp byte [esi], 0x3a
jne 0x446b26
lea edi, [esi + 1]
jmp 0x446b12
cmp al, 0x3a
je 0x4469dc
movsx eax, al
push eax
call fcn.0043bb7a
test eax, eax
pop ecx
jne 0x446b11
movsx eax, byte [edi]
push eax
push str.____t
call fcn.004549b0
test eax, eax
pop ecx
pop ecx
je 0x446b20
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x446ae7
cmp al, 0x3a
je 0x4469dc
mov eax, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x20]
cmp byte [esi], 0x2c
jne 0x446b70
lea eax, [esi + 1]
push eax
call fcn.00401aa2
push 2
push 0x45b23c
push eax
mov dword [ebp + 0x74], eax
call fcn.004550f0
add esp, 0x10
test eax, eax
je 0x4469dc
mov eax, dword [ebp + 0x74]
push 3
dec eax
push 0x458b54
push eax
call fcn.004550f0
add esp, 0xc
test eax, eax
je 0x4469dc
jmp 0x446c0d
cmp esi, eax
mov ecx, esi
jae 0x446b80
cmp byte [ecx], 0x22
je 0x446b80
inc ecx
cmp ecx, eax
jb 0x446b76
cmp ecx, eax
je 0x4469dc
add eax, 2
mov cl, byte [eax]
cmp cl, bl
je 0x4469dc
cmp cl, 0x22
je 0x446ba1
inc eax
mov cl, byte [eax]
cmp cl, bl
jne 0x446b95
cmp byte [eax], bl
jmp 0x446b65
movsx eax, byte [esi + 1]
push eax
call fcn.004418c7
cmp eax, 0x52
pop ecx
jne 0x4469dc
lea eax, [esi + 2]
jmp 0x446bd9
push 3
push 0x45b284
push esi
call fcn.0044147c
add esp, 0xc
test eax, eax
jne 0x4469dc
lea eax, [esi + 3]
mov cl, byte [eax]
cmp cl, 0x20
je 0x446bee
cmp cl, 9
je 0x446bee
cmp cl, 0xa0
jne 0x4469dc
push eax
call fcn.00401aa2
movsx eax, byte [eax]
push eax
push str.____:
call fcn.004549b0
add esp, 0xc
test eax, eax
jne 0x4469dc
mov eax, dword [ebp + 0x54]
lea ecx, [edi + eax]
cmp ecx, 0x4000
jae 0x44770f
cmp byte [esi], 0x2c
je 0x446c2f
mov ecx, dword [ebp + 0x68]
mov byte [eax + ecx], 0x20
inc eax
mov dword [ebp + 0x54], eax
lea eax, [edi + 1]
push eax
push esi
mov ecx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x54]
add eax, ecx
push eax
call fcn.00454280
add esp, 0xc
add dword [ebp + 0x54], edi
jmp 0x446832
push 5
push str.LTrim
push edi
call fcn.0044147c
add esp, 0xc
test eax, eax
jne 0x446c6b
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x41]
jmp 0x446cbc
push 5
push str.RTrim
push edi
call fcn.0044147c
add esp, 0xc
test eax, eax
jne 0x446cb6
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x39]
jmp 0x446cbc
cmp al, 0x25
je 0x446cb1
cmp al, 0x2c
je 0x446cac
cmp al, 0x43
je 0x446c9d
cmp al, 0x60
je 0x446ca6
cmp al, 0x63
jne 0x446cb5
mov dword [ebp + 0x50], 2
jmp 0x446cb5
mov byte [ebp + 0x3a], 1
jmp 0x446cb5
mov byte [ebp + 0x43], bl
jmp 0x446cb5
mov byte [ebp + 0x3c], 1
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x446c89
mov al, byte [ebp + 0x77]
push esi
mov byte [esi], al
call fcn.00401aa2
mov edi, eax
cmp byte [edi], bl
pop ecx
jne 0x44692d
mov esi, dword [ebp + 0x30]
jmp 0x446832
cmp edi, 0xffffffff
je 0x447778
cmp edi, 0xfffffffe
je 0x446832
cmp byte [esi], 0x29
jne 0x446d0b
lea eax, [esi + 1]
push 0xffffffffffffffff
push esi
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x74], eax
call fcn.0040aa06
mov edi, eax
pop ecx
dec edi
jmp 0x446de0
cmp byte [ebp + 0x39], bl
mov dword [ebp + 0x74], esi
je 0x446d1e
push edi
push esi
call fcn.0040aa06
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x41], bl
je 0x446d2e
push edi
push esi
call fcn.0040a9b7
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x3a], bl
mov dword [ebp + 0x5c], ebx
je 0x446d63
mov al, byte [0x46208e]
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.0041bfe4
add esp, 0x20
mov dword [ebp + 0x5c], eax
cmp byte [ebp + 0x3c], bl
je 0x446d9b
mov al, byte [0x46208d]
mov cl, byte [0x46208e]
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.0041bfe4
add esp, 0x20
add dword [ebp + 0x5c], eax
cmp byte [ebp + 0x43], bl
je 0x446dd3
mov al, byte [0x46208c]
mov cl, byte [0x46208e]
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.0041bfe4
add esp, 0x20
add dword [ebp + 0x5c], eax
cmp dword [ebp + 0x5c], ebx
je 0x446de1
push esi
call fcn.00454880
mov edi, eax
pop ecx
mov eax, dword [ebp + 0x24]
lea ecx, [eax + edi]
add ecx, dword [ebp + 0x54]
cmp ecx, 0x4001
jae 0x447782
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], 1
jle 0x446e25
cmp eax, ebx
je 0x446e25
cmp dword [ebp + 0x74], esi
jne 0x446e25
mov ecx, dword [ebp + 0x68]
inc eax
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 0x54]
add eax, ecx
push eax
call fcn.00454280
mov eax, dword [ebp + 0x24]
add esp, 0xc
add dword [ebp + 0x54], eax
cmp edi, ebx
je 0x446832
lea eax, [edi + 1]
push eax
push dword [ebp + 0x74]
jmp 0x446c34
cmp dword [0x46434c], ebx
mov ecx, esi
jne 0x447722
lea eax, [ebp - 0x23b0]
push eax
lea eax, [ebp - 0xa3b8]
push eax
call fcn.0044c2c3
test eax, eax
je 0x4477b1
cmp byte [ebp + 0x42], bl
je 0x446e7b
push ebx
push ebx
push ebx
push 0x6b
mov ecx, esi
call fcn.004496b1
test eax, eax
je 0x4477b1
mov dword [esi + 0x4c], edi
mov byte [ebp - 0xa3b8], bl
lea eax, [ebp + 0x42]
push eax
push dword [ebp + 0x68]
call fcn.00448124
test al, al
pop ecx
pop ecx
je 0x446eb2
push dword [ebp + 0x68]
lea eax, [ebp - 0xa3b8]
push eax
call fcn.00454650
mov eax, dword [esi + 0x4c]
pop ecx
pop ecx
mov dword [ebp + 0x18], eax
jmp 0x447531
mov edx, dword [ebp + 0x68]
cmp byte [edx], 0x3a
mov dword [ebp + 0x50], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 0x5c], ebx
jne 0x446fb4
lea eax, [edx + 1]
mov cl, byte [eax]
cmp cl, bl
je 0x446fb4
cmp cl, 0x3a
je 0x446ef5
push 0x3a
push eax
mov dword [ebp + 4], eax
call fcn.004549b0
cmp eax, ebx
pop ecx
pop ecx
jne 0x446ef2
mov dword [ebp + 0x50], ebx
jmp 0x446fb4
inc eax
jmp 0x446f00
lea eax, [edx + 2]
cmp byte [eax], bl
je 0x446fb4
cmp eax, ebx
mov dword [ebp + 0x50], eax
je 0x446fb4
mov esi, eax
mov al, byte [esi]
cmp al, bl
je 0x446fa7
cmp al, byte [0x46208e]
je 0x446f2a
cmp al, 0x3a
je 0x446f2a
inc esi
mov al, byte [esi]
cmp al, bl
jne 0x446f17
mov al, byte [esi]
cmp al, bl
je 0x446fa7
cmp al, 0x3a
lea edi, [esi + 1]
jne 0x446f40
cmp byte [edi], al
jne 0x446fa1
mov dword [ebp + 0x5c], esi
jmp 0x446f9f
movsx eax, byte [edi]
sub eax, 0x61
je 0x446f80
dec eax
je 0x446f7b
sub eax, 4
je 0x446f76
sub eax, 8
je 0x446f71
sub eax, 4
je 0x446f6c
dec eax
dec eax
je 0x446f67
dec eax
dec eax
jne 0x446f83
mov byte [edi], 0xb
jmp 0x446f83
mov byte [edi], 9
jmp 0x446f83
mov byte [edi], 0xd
jmp 0x446f83
mov byte [edi], 0xa
jmp 0x446f83
mov byte [edi], 0xc
jmp 0x446f83
mov byte [edi], 8
jmp 0x446f83
mov byte [edi], 7
push edi
call fcn.00454880
inc eax
push eax
push edi
push esi
call fcn.00454a70
add esp, 0x10
cmp byte [esi], 0x3a
jne 0x446fa1
cmp byte [edi], 0x3a
jne 0x446fa1
mov esi, edi
inc esi
jmp 0x446f0d
cmp dword [ebp + 0x5c], ebx
jne 0x446faf
mov dword [ebp + 0x50], ebx
cmp dword [ebp + 0x50], ebx
jne 0x44700d
mov esi, dword [ebp + 0x68]
push 0x45b23c
push esi
call fcn.00454910
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x4472fa
cmp eax, esi
jne 0x446fdd
cmp byte [eax + 2], 0x3a
jne 0x446fdd
inc eax
mov dword [ebp + 0x5c], eax
push eax
push esi
call fcn.00438a17
pop ecx
pop ecx
mov edi, eax
mov al, byte [edi]
push ebx
push ebx
push esi
mov byte [ebp + 0x77], al
mov byte [edi], bl
call fcn.00401aa2
pop ecx
push eax
call fcn.0040f032
add esp, 0xc
test eax, eax
jne 0x447008
mov dword [ebp + 0x5c], ebx
mov al, byte [ebp + 0x77]
mov byte [edi], al
cmp dword [ebp + 0x5c], ebx
je 0x4472fa
mov eax, dword [ebp + 0x68]
cmp dword [ebp + 0x5c], eax
jbe 0x4472fa
cmp dword [0x46434c], ebx
jne 0x447730
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x447041
cmp byte [eax], 0x1b
je 0x44773a
mov eax, dword [ebp + 0x5c]
add dword [ebp + 0x5c], 2
cmp dword [ebp + 0x50], ebx
mov edi, dword [ebp + 0x5c]
mov byte [eax], bl
jne 0x4471c9
push 0xffffffffffffffff
push edi
call fcn.0040a9b7
push 0xffffffffffffffff
push dword [ebp + 0x68]
call fcn.0040aa06
add esp, 0x10
cmp byte [edi], bl
mov dword [ebp + 0x74], edi
je 0x4471c9
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.0040f369
mov esi, dword [sym.imp.USER32.dll_GetKeyboardLayout]
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.00413c75
add esp, 0x14
cmp al, bl
mov byte [ebp + 0xc], al
je 0x4471c9
cmp byte [edi + 1], bl
je 0x4470d5
push ebx
push ebx
push edi
call fcn.0040f369
add esp, 0xc
push ebx
mov dword [ebp + 0x74], eax
call esi
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x74]
call fcn.00413c75
add esp, 0x14
mov byte [ebp + 0x3d], al
jmp 0x4470d9
mov byte [ebp + 0x3d], 0xff
cmp byte [ebp + 0x3d], bl
je 0x4471c9
push dword [ebp + 0x3d]
call fcn.004440c9
push dword [ebp + 0xc]
mov byte [ebp + 0x4f], al
call fcn.004440c9
test al, al
pop ecx
pop ecx
jne 0x447104
cmp byte [ebp + 0x4f], bl
mov byte [ebp + 0x3b], 1
jne 0x447107
mov byte [ebp + 0x3b], bl
mov esi, dword [ebp + 0x5c]
push esi
call fcn.00454880
cmp eax, 1
pop ecx
jne 0x44712a
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x45b5ac
jne 0x44712f
mov eax, 0x4575d8
push dword [ebp + 0x68]
push eax
push str._s_s
lea eax, [ebp - 0x168]
push 0x20
push eax
call fcn.0040aa6c
push 0x20
push dword [ebp + 0x74]
lea eax, [ebp - 0x34]
push eax
call fcn.0043880f
push 8
lea eax, [ebp - 4]
push edi
push eax
call fcn.0043880f
mov eax, dword [ebp + 0x74]
sub eax, edi
add esp, 0x2c
cmp eax, 8
jae 0x447171
mov byte [ebp + eax - 4], bl
cmp byte [ebp - 4], bl
mov dword [ebp + 0x2c], ebx
jne 0x447531
movzx eax, byte [ebp + 0x3d]
sub eax, 0xd
je 0x4471ae
sub eax, 4
je 0x447198
dec eax
dec eax
je 0x4471c6
sub eax, 0x4c
jne 0x447531
push 0x458f78
push edi
call fcn.00438acb
test eax, eax
pop ecx
pop ecx
jne 0x4471c6
jmp 0x447531
lea eax, [ebp - 0x34]
push str.Return
push eax
call fcn.00441439
test eax, eax
pop ecx
pop ecx
jne 0x447531
mov byte [ebp + 0x3d], bl
mov esi, dword [ebp + 0x60]
cmp byte [esi + 0x50], bl
je 0x4471f2
push ebx
push 0xff
push ebx
push 0x66
mov ecx, esi
mov byte [esi + 0x50], bl
call fcn.004496b1
test eax, eax
je 0x4477b1
mov dword [esi + 0x23c], ebx
push 1
push dword [ebp + 0x68]
mov ecx, esi
call fcn.0044d4d2
test eax, eax
je 0x4477b1
cmp byte [edi], bl
mov dword [ebp + 0x74], ebx
je 0x44725d
cmp dword [ebp + 0x50], ebx
jne 0x447249
push ebx
push edi
call fcn.0040e89f
cmp ax, bx
pop ecx
pop ecx
mov dword [ebp + 0x74], eax
jne 0x447249
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00448124
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, esi
and eax, 3
push eax
push edi
call fcn.004481a8
test eax, eax
je 0x4477b1
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.004496b1
test eax, eax
je 0x4477b1
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x44728a
cmp byte [eax], bl
je 0x447750
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x447278
mov eax, 0x4575d8
push dword [ebp + 0x10]
push edi
push dword [ebp + 0x50]
push eax
push dword [esi + 0x10]
call fcn.0040dd3f
jmp 0x4472f2
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x68]
call fcn.0040ef51
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x4472e2
mov eax, dword [ebp + 0x74]
cmp ax, bx
je 0x4472af
mov word [edi + 2], ax
jmp 0x447531
mov ecx, edi
call fcn.0040fea6
test eax, eax
jne 0x44775d
push dword [ebp + 8]
mov ecx, edi
push dword [esi + 0x10]
call fcn.0040fd6e
test eax, eax
jne 0x447531
push dword [ebp + 0x68]
push str.Out_of_memory.
mov ecx, esi
jmp 0x447718
push ebx
push dword [ebp + 8]
push ebx
push dword [ebp + 0x74]
push dword [esi + 0x10]
call fcn.0040e814
add esp, 0x14
jmp 0x447529
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x54]
cmp byte [ecx + esi - 1], 0x3a
jne 0x4473d8
cmp ecx, 1
je 0x447770
mov al, byte [esi]
mov edi, esi
jmp 0x447345
cmp al, 0x20
je 0x4473d8
cmp al, 9
je 0x4473d8
cmp al, byte [0x46208c]
je 0x4473d8
cmp al, byte [0x46208e]
je 0x4473d8
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x44731a
cmp byte [ecx + esi - 2], 0x3a
jne 0x4473ba
cmp ecx, 2
jbe 0x4473ba
mov edi, dword [ebp + 0x60]
cmp byte [edi + 0x50], bl
je 0x44737e
push ebx
push 0xff
push ebx
push 0x66
mov ecx, edi
mov byte [edi + 0x50], bl
call fcn.004496b1
test eax, eax
je 0x4477b1
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 - 0x470]
push 0x204
push eax
call fcn.0040aa6c
fldz
add esp, 0x10
push ebx
push ecx
push ecx
fstp qword [esp]
push ebx
lea eax, [ebp - 0x470]
push 0x10000
push eax
call fcn.0043b17b
mov ecx, dword [ebp + 0x54]
add esp, 0x18
jmp 0x4473bd
mov edi, dword [ebp + 0x60]
dec ecx
push ecx
push esi
mov byte [ecx + esi], bl
call fcn.0040aa06
pop ecx
pop ecx
push ebx
push esi
mov ecx, edi
call fcn.0044d4d2
jmp 0x447529
cmp byte [esi], 0x23
mov edi, dword [ebp + 0x60]
jne 0x44740c
mov eax, dword [edi + 0x4c]
push esi
mov ecx, edi
mov dword [ebp + 0x74], eax
call fcn.00447813
cmp eax, ebx
je 0x4477b1
cmp eax, 3
jne 0x44740c
mov al, byte [ebp + 0x5b]
mov byte [edi + 0x49], al
mov eax, dword [ebp + 0x74]
mov dword [edi + 0x4c], eax
jmp 0x447531
cmp byte [esi], 0x7d
jne 0x447447
push ebx
push ebx
push ebx
push 0x6c
mov ecx, edi
call fcn.004496b1
test eax, eax
je 0x4477b1
inc esi
push esi
call fcn.00401aa2
cmp byte [eax], bl
pop ecx
mov dword [ebp + 0x68], eax
je 0x447531
mov esi, eax
push esi
call fcn.00454880
mov edi, dword [ebp + 0x60]
pop ecx
mov dword [ebp + 0x54], eax
push str._t__
push esi
call fcn.00438acb
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x74], eax
jne 0x447463
mov eax, dword [ebp + 0x54]
add eax, esi
mov dword [ebp + 0x74], eax
mov eax, dword [ebp + 0x74]
push 0xffffffffffffffff
sub eax, esi
push eax
push str.Else
push esi
call fcn.0043882f
add esp, 0x10
test eax, eax
push ebx
push ebx
mov ecx, edi
push ebx
je 0x4474d2
cmp byte [esi], 0x7b
jne 0x4474cc
push 0x6b
call fcn.004496b1
test eax, eax
je 0x4477b1
inc esi
push esi
call fcn.00401aa2
mov esi, eax
cmp byte [esi], bl
pop ecx
je 0x447531
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.00448124
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, edi
and eax, 3
push eax
push esi
jmp 0x447524
push ebx
push ebx
push ebx
push esi
jmp 0x447524
push 9
call fcn.004496b1
test eax, eax
je 0x4477b1
push dword [ebp + 0x74]
mov dword [edi + 0x23c], ebx
call fcn.00401aa2
mov edi, eax
mov al, byte [edi]
cmp al, byte [0x46208c]
pop ecx
jne 0x447506
inc edi
push edi
call fcn.00401aa2
pop ecx
mov edi, eax
cmp byte [edi], bl
je 0x447531
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00448124
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
and eax, 3
push eax
push edi
call fcn.004481a8
test eax, eax
je 0x4477b1
cmp byte [ebp + 0x3d], bl
je 0x4476de
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
dec eax
je 0x44765b
dec eax
je 0x44758b
dec eax
je 0x447682
sub eax, 7
jne 0x4476de
cmp byte [ebp + 0x3d], 0x12
mov ecx, 0x4575d8
je 0x447571
cmp byte [ebp + 0x3d], 0xa3
jbe 0x4475e7
cmp byte [ebp + 0x3d], 0xa5
ja 0x4475e7
movzx eax, byte [ebp + 0xc]
sub eax, 0x11
je 0x4475e2
sub eax, 0x91
je 0x4475e2
dec eax
jne 0x4475e7
mov ecx, str.RCtrl_up
jmp 0x4475e7
push 0x459e24
push dword [ebp + 0x68]
call fcn.00454650
cmp byte [ebp + 0x4f], bl
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
push ebx
lea eax, [ebp + 0x68]
push 1
push eax
setne al
add al, 0xb8
push eax
call fcn.004496b1
cmp byte [ebp + 0x3b], bl
je 0x44755a
lea eax, [ebp - 0x34]
push eax
push str.if_not_GetKeyState___s__
push dword [ebp + 0x68]
call fcn.00440d7f
push dword [ebp + 0x68]
call fcn.00454880
add esp, 0x10
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x2c], 9
jmp 0x446eb2
mov ecx, str.LCtrl_up
mov esi, dword [ebp + 0x60]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 4]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push dword [ebp + 0x68]
mov dword [esi + 0x23c], ebx
call fcn.00440d7f
add esp, 0x14
push ebx
push 1
lea eax, [ebp + 0x68]
push eax
push 0x41
mov ecx, esi
call fcn.004496b1
test eax, eax
je 0x4477b1
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.004496b1
lea eax, [ebp - 0x168]
push eax
push str._s_up::
push dword [ebp + 0x68]
call fcn.00440d7f
push dword [ebp + 0x68]
call fcn.00454880
add esp, 0x10
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x2c], 2
jmp 0x446eb2
lea eax, [ebp - 0x168]
push eax
push str._s::
push dword [ebp + 0x68]
call fcn.00440d7f
push dword [ebp + 0x68]
call fcn.00454880
add esp, 0x10
mov dword [ebp + 0x54], eax
jmp 0x446eb2
push 0x459e24
push dword [ebp + 0x68]
call fcn.00454650
cmp byte [ebp + 0x4f], bl
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
push ebx
lea eax, [ebp + 0x68]
push 1
push eax
setne al
add al, 0xb8
push eax
call fcn.004496b1
lea eax, [ebp - 0x34]
push eax
push str.Blind_s_Up
push dword [ebp + 0x68]
call fcn.00440d7f
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push ebx
push 1
lea eax, [ebp + 0x68]
push eax
push 0x41
call fcn.004496b1
mov ecx, dword [ebp + 0x60]
push ebx
push ebx
push ebx
push 0x66
call fcn.004496b1
mov byte [ebp + 0x3d], bl
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x54], ecx
lea ecx, [ebp - 0x63b4]
cmp eax, ecx
mov dword [ebp + 0x68], eax
jne 0x447707
lea eax, [ebp - 0xe3bc]
mov edi, dword [ebp + 0x60]
mov dword [ebp + 0x30], eax
mov esi, eax
jmp 0x4467ed
lea eax, [ebp - 0x63b4]
jmp 0x4476fa
push esi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 0x60]
call fcn.0044a384
jmp 0x4477b1
lea eax, [ebp - 0xa3b8]
push eax
push str.Functions_cannot_contain_functions.
jmp 0x447718
push dword [ebp + 0x68]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
jmp 0x447715
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x68]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x23c], eax
push str.IfWin_should_be_IfWin.
jmp 0x447718
push dword [ebp + 0x68]
push str.This_hotstring_is_missing_its_abbreviation.
jmp 0x4472db
push dword [ebp + 0x68]
mov dword [esi + 0x23c], ebx
push str.Duplicate_hotkey.
jmp 0x4472db
push esi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x447715
push dword [ebp + 0x68]
push 0x45ac4c
jmp 0x447715
push dword [ebp + 0x74]
jmp 0x447710
cmp byte [ebp - 0xa3b8], bl
je 0x4477ca
mov eax, dword [ebp + 0x18]
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 - 0xa3b8]
push eax
mov ecx, edi
call fcn.004481a8
test eax, eax
jne 0x4477c7
push dword [ebp + 0x64]
call fcn.0043db8d
pop ecx
lea ecx, [ebp - 0x148]
call fcn.0044e44f
jmp 0x447807
mov dword [edi + 0x4c], esi
push dword [ebp + 0x64]
call fcn.0043db8d
pop ecx
lea ecx, [ebp - 0x148]
call fcn.0044e44f
xor eax, eax
inc eax
jmp 0x447809
lea ecx, [ebp - 0x148]
call fcn.0044e44f
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.0043b17b
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc