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

Disassembly:
push ebp
mov eax, 0xe428
lea ebp, [esp - 0x6c]
call fcn.004540a0
mov edx, dword [ebp + 0x74]
push ebx
xor ebx, ebx
cmp edx, ebx
push esi
push edi
mov dword [ebp + 0x60], ecx
je 0x447cfa
cmp byte [edx], bl
je 0x447cfa
mov eax, dword [0x466bdc]
cmp eax, 0x100
jl 0x446b4c
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 0x447cf2
cmp al, bl
mov byte [ebp + 0x5b], al
jne 0x446b60
mov eax, dword [ecx + 0x494]
mov dword [0x466198], eax
jmp 0x446ba7
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 0x446ba7
movzx esi, byte [ebp + 0x5b]
xor edi, edi
cmp esi, ebx
jle 0x446ba7
lea eax, [ebp - 0x26c]
push eax
push dword [edi*4 + 0x466198]
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
test eax, eax
je 0x447cd1
inc edi
cmp edi, esi
jl 0x446b86
xor eax, eax
mov byte [ebp - 0xa3b8], bl
mov ecx, 0x1000
lea edi, [ebp - 0xa3b7]
rep stosd dword es:[edi], eax
push 0x4565d8
push dword [ebp + 0x74]
lea eax, [ebp - 0x63b4]
lea esi, [ebp - 0xe3bc]
lea ecx, [ebp - 0x148]
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x34], esi
call fcn.0044e64e
test eax, eax
je 0x446c01
push ebx
fldz
push ecx
push ecx
fstp qword [esp]
push dword [ebp + 0x74]
push ebx
push str.EXE_corrupted
jmp 0x447cf2
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x64]
push eax
push str._AUTOHOTKEY_SCRIPT_
lea ecx, [ebp - 0x148]
call fcn.0044ea26
test eax, eax
jne 0x446c25
mov edi, dword [ebp + 0x60]
mov byte [edi + 0x48], bl
jmp 0x446c4c
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x64]
push eax
push str._AHK_WITH_ICON_
lea ecx, [ebp - 0x148]
call fcn.0044ea26
test eax, eax
jne 0x447cd6
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 0x446c72
lea eax, [ebp - 0x26c]
push 0xffffffffffffffff
push eax
call fcn.0044be3e
pop ecx
pop ecx
movzx ecx, byte [ebp + 0x5b]
mov dword [ecx*4 + 0x466198], eax
mov al, byte [ebp + 0x5b]
inc dword [0x466bdc]
or dword [ebp + 0x1c], 0xffffffff
mov byte [edi + 0x49], al
mov eax, dword [ebp + 0x2c]
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 0x446c9f
mov eax, ecx
lea ecx, [ebp + 0x28]
push ecx
push ebx
push eax
lea eax, [ebp - 0x63b4]
push eax
mov ecx, edi
call fcn.0044e51b
push 2
mov dword [ebp + 0x54], eax
lea eax, [ebp - 0x63b4]
push 0x45a5f4
push eax
call fcn.00454370
add esp, 0xc
neg eax
sbb al, al
inc al
mov byte [ebp + 0x7b], al
je 0x446ce0
mov byte [ebp - 0x63b4], bl
mov dword [ebp + 0x54], ebx
cmp dword [ebp + 0x54], 0xffffffff
je 0x447c7a
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.0044188c
add esp, 0xc
test eax, eax
jne 0x446d1f
push dword [ebp + 0x68]
mov ecx, edi
call fcn.00447d06
test eax, eax
je 0x447ca4
mov byte [ebp + 0x10], bl
mov dword [ebp + 0x50], ebx
mov eax, dword [ebp + 0x2c]
sub eax, dword [ebp + 0x28]
inc dword [ebp + 0x1c]
add eax, dword [ebp + 0x64]
mov ecx, 0x4000
cmp eax, ecx
jle 0x446d3c
mov eax, ecx
lea ecx, [ebp + 0x28]
push ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x60]
push eax
push esi
call fcn.0044e51b
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x20], edi
je 0x446ebd
cmp edi, 0xffffffff
je 0x446ebd
cmp byte [ebp + 0x7b], bl
je 0x446e93
push 2
push 0x45a5f0
push esi
call fcn.00454370
add esp, 0xc
test eax, eax
jne 0x446d25
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.00453cf0
push edi
push esi
call fcn.0040a90c
add esp, 0x14
cmp byte [esi], bl
mov edi, eax
mov dword [ebp + 0x20], edi
je 0x446d25
cmp dword [ebp + 0x50], ebx
jne 0x4471cd
cmp edi, 0xffffffff
je 0x446f2d
cmp byte [esi], 0x28
jne 0x446f2d
lea eax, [esi + 1]
cmp byte [eax], 0x3a
je 0x446f2d
cmp byte [edi + esi - 1], 0x3a
je 0x446f2d
mov cl, byte [0x463d88]
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.00401a9c
mov edi, eax
cmp byte [edi], bl
pop ecx
je 0x446d25
push 0x457bf0
push edi
call fcn.00438ef0
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x446e3e
push edi
call fcn.00453b00
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.0044188c
add esp, 0xc
test eax, eax
jne 0x447140
push 0x10
add edi, 4
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00438c34
xor eax, eax
mov al, byte [0x46108e]
push 1
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00437cc0
lea eax, [ebp - 0x14]
push eax
call fcn.00453b00
add esp, 0x1c
mov dword [ebp + 0x24], eax
jmp 0x4471af
cmp dword [ebp + 0x50], ebx
jne 0x4471cd
push 2
push 0x45a5f4
push esi
call fcn.00454370
add esp, 0xc
test eax, eax
jne 0x446db3
mov byte [ebp + 0x7b], 1
jmp 0x446d25
cmp byte [ebp + 0x7b], bl
je 0x446daa
cmp edi, 0xffffffff
jne 0x446d25
cmp dword [ebp + 0x54], ebx
je 0x447a24
cmp byte [ebp - 0xa3b8], bl
mov esi, dword [ebp + 0x60]
je 0x447377
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 0x44732c
cmp byte [ebp + 0x42], bl
jne 0x44732c
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea eax, [ebp - 0xa3b8]
push eax
mov ecx, esi
call fcn.0044869b
test eax, eax
je 0x447ca4
mov dword [esi + 0x23c], ebx
jmp 0x44736e
cmp edi, 0xffffffff
mov dword [ebp + 0x50], ebx
je 0x446ecf
cmp edi, ebx
je 0x446d25
cmp byte [edi + esi - 1], 0x3a
jne 0x446f49
cmp byte [esi], 0x2c
jne 0x446ecf
movsx eax, byte [esi]
push eax
call fcn.00441cd7
cmp eax, 0x41
pop ecx
je 0x4470b1
cmp eax, 0x4f
je 0x447098
mov cl, byte [esi]
cmp cl, 0x3a
je 0x446f76
cmp cl, 0x2b
je 0x446f76
cmp cl, 0x2d
jne 0x446f7f
cmp byte [esi + 1], cl
je 0x446ecf
cmp cl, 0x2e
je 0x446f89
cmp cl, 0x3f
jne 0x446fa0
mov al, byte [esi + 1]
cmp al, 0x20
je 0x446fa0
cmp al, 9
je 0x446fa0
cmp al, 0xa0
je 0x446fa0
cmp al, 0x3d
jne 0x446ecf
movsx eax, cl
push eax
push str.____:.___
call fcn.00453c30
test eax, eax
pop ecx
pop ecx
je 0x446ecf
push 0x45a23c
push esi
call fcn.00453b90
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x447100
cmp byte [esi], 0x3a
jne 0x447019
lea edi, [esi + 1]
jmp 0x447005
cmp al, 0x3a
je 0x446ecf
movsx eax, al
push eax
call fcn.0043bf94
test eax, eax
pop ecx
jne 0x447004
movsx eax, byte [edi]
push eax
push str.____t
call fcn.00453c30
test eax, eax
pop ecx
pop ecx
je 0x447013
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x446fda
cmp al, 0x3a
je 0x446ecf
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x5c]
cmp byte [esi], 0x2c
jne 0x447063
lea eax, [esi + 1]
push eax
call fcn.00401a9c
push 2
push 0x45a23c
push eax
mov dword [ebp + 0x74], eax
call fcn.00454370
add esp, 0x10
test eax, eax
je 0x446ecf
mov eax, dword [ebp + 0x74]
push 3
dec eax
push 0x457b54
push eax
call fcn.00454370
add esp, 0xc
test eax, eax
je 0x446ecf
jmp 0x447100
cmp esi, eax
mov ecx, esi
jae 0x447073
cmp byte [ecx], 0x22
je 0x447073
inc ecx
cmp ecx, eax
jb 0x447069
cmp ecx, eax
je 0x446ecf
add eax, 2
mov cl, byte [eax]
cmp cl, bl
je 0x446ecf
cmp cl, 0x22
je 0x447094
inc eax
mov cl, byte [eax]
cmp cl, bl
jne 0x447088
cmp byte [eax], bl
jmp 0x447058
movsx eax, byte [esi + 1]
push eax
call fcn.00441cd7
cmp eax, 0x52
pop ecx
jne 0x446ecf
lea eax, [esi + 2]
jmp 0x4470cc
push 3
push 0x45a288
push esi
call fcn.0044188c
add esp, 0xc
test eax, eax
jne 0x446ecf
lea eax, [esi + 3]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4470e1
cmp cl, 9
je 0x4470e1
cmp cl, 0xa0
jne 0x446ecf
push eax
call fcn.00401a9c
movsx eax, byte [eax]
push eax
push str.____:
call fcn.00453c30
add esp, 0xc
test eax, eax
jne 0x446ecf
mov eax, dword [ebp + 0x54]
lea ecx, [edi + eax]
cmp ecx, 0x4000
jae 0x447c02
cmp byte [esi], 0x2c
je 0x447122
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.00453500
add esp, 0xc
add dword [ebp + 0x54], edi
jmp 0x446d25
push 5
push str.LTrim
push edi
call fcn.0044188c
add esp, 0xc
test eax, eax
jne 0x44715e
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x41]
jmp 0x4471af
push 5
push str.RTrim
push edi
call fcn.0044188c
add esp, 0xc
test eax, eax
jne 0x4471a9
cmp byte [edi + 5], 0x30
setne byte [ebp + 0x39]
jmp 0x4471af
cmp al, 0x25
je 0x4471a4
cmp al, 0x2c
je 0x44719f
cmp al, 0x43
je 0x447190
cmp al, 0x60
je 0x447199
cmp al, 0x63
jne 0x4471a8
mov dword [ebp + 0x50], 2
jmp 0x4471a8
mov byte [ebp + 0x3a], 1
jmp 0x4471a8
mov byte [ebp + 0x43], bl
jmp 0x4471a8
mov byte [ebp + 0x3c], 1
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x44717c
mov al, byte [ebp + 0x77]
push esi
mov byte [esi], al
call fcn.00401a9c
mov edi, eax
cmp byte [edi], bl
pop ecx
jne 0x446e20
mov esi, dword [ebp + 0x34]
jmp 0x446d25
cmp edi, 0xffffffff
je 0x447c6b
cmp edi, 0xfffffffe
je 0x446d25
cmp byte [esi], 0x29
jne 0x4471fe
lea eax, [esi + 1]
push 0xffffffffffffffff
push esi
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x74], eax
call fcn.0040a95b
mov edi, eax
pop ecx
dec edi
jmp 0x4472d3
cmp byte [ebp + 0x39], bl
mov dword [ebp + 0x74], esi
je 0x447211
push edi
push esi
call fcn.0040a95b
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x41], bl
je 0x447221
push edi
push esi
call fcn.0040a90c
pop ecx
pop ecx
mov edi, eax
cmp byte [ebp + 0x3a], bl
mov dword [ebp + 0x5c], ebx
je 0x447256
mov al, byte [0x46108e]
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.0041c523
add esp, 0x20
mov dword [ebp + 0x5c], eax
cmp byte [ebp + 0x3c], bl
je 0x44728e
mov al, byte [0x46108d]
mov cl, byte [0x46108e]
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.0041c523
add esp, 0x20
add dword [ebp + 0x5c], eax
cmp byte [ebp + 0x43], bl
je 0x4472c6
mov al, byte [0x46108c]
mov cl, byte [0x46108e]
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.0041c523
add esp, 0x20
add dword [ebp + 0x5c], eax
cmp dword [ebp + 0x5c], ebx
je 0x4472d4
push esi
call fcn.00453b00
mov edi, eax
pop ecx
mov eax, dword [ebp + 0x24]
lea ecx, [eax + edi]
add ecx, dword [ebp + 0x54]
cmp ecx, 0x4001
jae 0x447c75
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], 1
jle 0x447318
cmp eax, ebx
je 0x447318
cmp dword [ebp + 0x74], esi
jne 0x447318
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.00453500
mov eax, dword [ebp + 0x24]
add esp, 0xc
add dword [ebp + 0x54], eax
cmp edi, ebx
je 0x446d25
lea eax, [edi + 1]
push eax
push dword [ebp + 0x74]
jmp 0x447127
cmp dword [0x46332c], ebx
mov ecx, esi
jne 0x447c15
lea eax, [ebp - 0x23b0]
push eax
lea eax, [ebp - 0xa3b8]
push eax
call fcn.0044c7f7
test eax, eax
je 0x447ca4
cmp byte [ebp + 0x42], bl
je 0x44736e
push ebx
push ebx
push ebx
push 0x6b
mov ecx, esi
call fcn.00449ba4
test eax, eax
je 0x447ca4
mov dword [esi + 0x4c], edi
mov byte [ebp - 0xa3b8], bl
lea eax, [ebp + 0x42]
push eax
push dword [ebp + 0x68]
call fcn.00448617
test al, al
pop ecx
pop ecx
je 0x4473a5
push dword [ebp + 0x68]
lea eax, [ebp - 0xa3b8]
push eax
call fcn.004538d0
mov eax, dword [esi + 0x4c]
pop ecx
pop ecx
mov dword [ebp + 0x18], eax
jmp 0x447a24
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 0x4474a7
lea eax, [edx + 1]
mov cl, byte [eax]
cmp cl, bl
je 0x4474a7
cmp cl, 0x3a
je 0x4473e8
push 0x3a
push eax
mov dword [ebp + 4], eax
call fcn.00453c30
cmp eax, ebx
pop ecx
pop ecx
jne 0x4473e5
mov dword [ebp + 0x50], ebx
jmp 0x4474a7
inc eax
jmp 0x4473f3
lea eax, [edx + 2]
cmp byte [eax], bl
je 0x4474a7
cmp eax, ebx
mov dword [ebp + 0x50], eax
je 0x4474a7
mov esi, eax
mov al, byte [esi]
cmp al, bl
je 0x44749a
cmp al, byte [0x46108e]
je 0x44741d
cmp al, 0x3a
je 0x44741d
inc esi
mov al, byte [esi]
cmp al, bl
jne 0x44740a
mov al, byte [esi]
cmp al, bl
je 0x44749a
cmp al, 0x3a
lea edi, [esi + 1]
jne 0x447433
cmp byte [edi], al
jne 0x447494
mov dword [ebp + 0x5c], esi
jmp 0x447492
movsx eax, byte [edi]
sub eax, 0x61
je 0x447473
dec eax
je 0x44746e
sub eax, 4
je 0x447469
sub eax, 8
je 0x447464
sub eax, 4
je 0x44745f
dec eax
dec eax
je 0x44745a
dec eax
dec eax
jne 0x447476
mov byte [edi], 0xb
jmp 0x447476
mov byte [edi], 9
jmp 0x447476
mov byte [edi], 0xd
jmp 0x447476
mov byte [edi], 0xa
jmp 0x447476
mov byte [edi], 0xc
jmp 0x447476
mov byte [edi], 8
jmp 0x447476
mov byte [edi], 7
push edi
call fcn.00453b00
inc eax
push eax
push edi
push esi
call fcn.00453cf0
add esp, 0x10
cmp byte [esi], 0x3a
jne 0x447494
cmp byte [edi], 0x3a
jne 0x447494
mov esi, edi
inc esi
jmp 0x447400
cmp dword [ebp + 0x5c], ebx
jne 0x4474a2
mov dword [ebp + 0x50], ebx
cmp dword [ebp + 0x50], ebx
jne 0x447500
mov esi, dword [ebp + 0x68]
push 0x45a23c
push esi
call fcn.00453b90
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x4477ed
cmp eax, esi
jne 0x4474d0
cmp byte [eax + 2], 0x3a
jne 0x4474d0
inc eax
mov dword [ebp + 0x5c], eax
push eax
push esi
call fcn.00438e3c
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.00401a9c
pop ecx
push eax
call fcn.0040ef0d
add esp, 0xc
test eax, eax
jne 0x4474fb
mov dword [ebp + 0x5c], ebx
mov al, byte [ebp + 0x77]
mov byte [edi], al
cmp dword [ebp + 0x5c], ebx
je 0x4477ed
mov eax, dword [ebp + 0x68]
cmp dword [ebp + 0x5c], eax
jbe 0x4477ed
cmp dword [0x46332c], ebx
jne 0x447c23
mov eax, dword [ebp + 0x60]
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x447534
cmp byte [eax], 0x1b
je 0x447c2d
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 0x4476bc
push 0xffffffffffffffff
push edi
call fcn.0040a90c
push 0xffffffffffffffff
push dword [ebp + 0x68]
call fcn.0040a95b
add esp, 0x10
cmp byte [edi], bl
mov dword [ebp + 0x74], edi
je 0x4476bc
push ebx
push ebx
push dword [ebp + 0x68]
call fcn.0040f244
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.00413b50
add esp, 0x14
cmp al, bl
mov byte [ebp + 0xc], al
je 0x4476bc
cmp byte [edi + 1], bl
je 0x4475c8
push ebx
push ebx
push edi
call fcn.0040f244
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.00413b50
add esp, 0x14
mov byte [ebp + 0x3d], al
jmp 0x4475cc
mov byte [ebp + 0x3d], 0xff
cmp byte [ebp + 0x3d], bl
je 0x4476bc
push dword [ebp + 0x3d]
call fcn.004444da
push dword [ebp + 0xc]
mov byte [ebp + 0x4f], al
call fcn.004444da
test al, al
pop ecx
pop ecx
jne 0x4475f7
cmp byte [ebp + 0x4f], bl
mov byte [ebp + 0x3b], 1
jne 0x4475fa
mov byte [ebp + 0x3b], bl
mov esi, dword [ebp + 0x5c]
push esi
call fcn.00453b00
cmp eax, 1
pop ecx
jne 0x44761d
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x45a5ac
jne 0x447622
mov eax, 0x4565d8
push dword [ebp + 0x68]
push eax
push str._s_s
lea eax, [ebp - 0x168]
push 0x20
push eax
call fcn.0040a9c1
push 0x20
push dword [ebp + 0x74]
lea eax, [ebp - 0x34]
push eax
call fcn.00438c34
push 8
lea eax, [ebp - 4]
push edi
push eax
call fcn.00438c34
mov eax, dword [ebp + 0x74]
sub eax, edi
add esp, 0x2c
cmp eax, 8
jae 0x447664
mov byte [ebp + eax - 4], bl
cmp byte [ebp - 4], bl
mov dword [ebp + 0x30], ebx
jne 0x447a24
movzx eax, byte [ebp + 0x3d]
sub eax, 0xd
je 0x4476a1
sub eax, 4
je 0x44768b
dec eax
dec eax
je 0x4476b9
sub eax, 0x4c
jne 0x447a24
push 0x457f78
push edi
call fcn.00438ef0
test eax, eax
pop ecx
pop ecx
jne 0x4476b9
jmp 0x447a24
lea eax, [ebp - 0x34]
push str.Return
push eax
call fcn.00441849
test eax, eax
pop ecx
pop ecx
jne 0x447a24
mov byte [ebp + 0x3d], bl
mov esi, dword [ebp + 0x60]
cmp byte [esi + 0x50], bl
je 0x4476e5
push ebx
push 0xff
push ebx
push 0x66
mov ecx, esi
mov byte [esi + 0x50], bl
call fcn.00449ba4
test eax, eax
je 0x447ca4
mov dword [esi + 0x23c], ebx
push 1
push dword [ebp + 0x68]
mov ecx, esi
call fcn.0044da0f
test eax, eax
je 0x447ca4
cmp byte [edi], bl
mov dword [ebp + 0x74], ebx
je 0x447750
cmp dword [ebp + 0x50], ebx
jne 0x44773c
push ebx
push edi
call fcn.0040e77a
cmp ax, bx
pop ecx
pop ecx
mov dword [ebp + 0x74], eax
jne 0x44773c
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00448617
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, esi
and eax, 3
push eax
push edi
call fcn.0044869b
test eax, eax
je 0x447ca4
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.00449ba4
test eax, eax
je 0x447ca4
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x44777d
cmp byte [eax], bl
je 0x447c43
mov eax, dword [ebp + 4]
cmp eax, ebx
jne 0x44776b
mov eax, 0x4565d8
push dword [ebp + 0x10]
push edi
push dword [ebp + 0x50]
push eax
push dword [esi + 0x10]
call fcn.0040dc1a
jmp 0x4477e5
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x68]
call fcn.0040ee2c
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x4477d5
mov eax, dword [ebp + 0x74]
cmp ax, bx
je 0x4477a2
mov word [edi + 2], ax
jmp 0x447a24
mov ecx, edi
call fcn.0040fd81
test eax, eax
jne 0x447c50
push dword [ebp + 8]
mov ecx, edi
push dword [esi + 0x10]
call fcn.0040fc49
test eax, eax
jne 0x447a24
push dword [ebp + 0x68]
push str.Out_of_memory.
mov ecx, esi
jmp 0x447c0b
push ebx
push dword [ebp + 8]
push ebx
push dword [ebp + 0x74]
push dword [esi + 0x10]
call fcn.0040e6ef
add esp, 0x14
jmp 0x447a1c
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x54]
cmp byte [ecx + esi - 1], 0x3a
jne 0x4478cb
cmp ecx, 1
je 0x447c63
mov al, byte [esi]
mov edi, esi
jmp 0x447838
cmp al, 0x20
je 0x4478cb
cmp al, 9
je 0x4478cb
cmp al, byte [0x46108c]
je 0x4478cb
cmp al, byte [0x46108e]
je 0x4478cb
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x44780d
cmp byte [ecx + esi - 2], 0x3a
jne 0x4478ad
cmp ecx, 2
jbe 0x4478ad
mov edi, dword [ebp + 0x60]
cmp byte [edi + 0x50], bl
je 0x447871
push ebx
push 0xff
push ebx
push 0x66
mov ecx, edi
mov byte [edi + 0x50], bl
call fcn.00449ba4
test eax, eax
je 0x447ca4
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.0040a9c1
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.0043b595
mov ecx, dword [ebp + 0x54]
add esp, 0x18
jmp 0x4478b0
mov edi, dword [ebp + 0x60]
dec ecx
push ecx
push esi
mov byte [ecx + esi], bl
call fcn.0040a95b
pop ecx
pop ecx
push ebx
push esi
mov ecx, edi
call fcn.0044da0f
jmp 0x447a1c
cmp byte [esi], 0x23
mov edi, dword [ebp + 0x60]
jne 0x4478ff
mov eax, dword [edi + 0x4c]
push esi
mov ecx, edi
mov dword [ebp + 0x74], eax
call fcn.00447d06
cmp eax, ebx
je 0x447ca4
cmp eax, 3
jne 0x4478ff
mov al, byte [ebp + 0x5b]
mov byte [edi + 0x49], al
mov eax, dword [ebp + 0x74]
mov dword [edi + 0x4c], eax
jmp 0x447a24
cmp byte [esi], 0x7d
jne 0x44793a
push ebx
push ebx
push ebx
push 0x6c
mov ecx, edi
call fcn.00449ba4
test eax, eax
je 0x447ca4
inc esi
push esi
call fcn.00401a9c
cmp byte [eax], bl
pop ecx
mov dword [ebp + 0x68], eax
je 0x447a24
mov esi, eax
push esi
call fcn.00453b00
mov edi, dword [ebp + 0x60]
pop ecx
mov dword [ebp + 0x54], eax
push str._t__
push esi
call fcn.00438ef0
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x74], eax
jne 0x447956
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.00438c54
add esp, 0x10
test eax, eax
push ebx
push ebx
mov ecx, edi
push ebx
je 0x4479c5
cmp byte [esi], 0x7b
jne 0x4479bf
push 0x6b
call fcn.00449ba4
test eax, eax
je 0x447ca4
inc esi
push esi
call fcn.00401a9c
mov esi, eax
cmp byte [esi], bl
pop ecx
je 0x447a24
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.00448617
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, edi
and eax, 3
push eax
push esi
jmp 0x447a17
push ebx
push ebx
push ebx
push esi
jmp 0x447a17
push 9
call fcn.00449ba4
test eax, eax
je 0x447ca4
push dword [ebp + 0x74]
mov dword [edi + 0x23c], ebx
call fcn.00401a9c
mov edi, eax
mov al, byte [edi]
cmp al, byte [0x46108c]
pop ecx
jne 0x4479f9
inc edi
push edi
call fcn.00401a9c
pop ecx
mov edi, eax
cmp byte [edi], bl
je 0x447a24
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
call fcn.00448617
neg al
sbb al, al
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
and eax, 3
push eax
push edi
call fcn.0044869b
test eax, eax
je 0x447ca4
cmp byte [ebp + 0x3d], bl
je 0x447bd1
inc dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
dec eax
je 0x447b4e
dec eax
je 0x447a7e
dec eax
je 0x447b75
sub eax, 7
jne 0x447bd1
cmp byte [ebp + 0x3d], 0x12
mov ecx, 0x4565d8
je 0x447a64
cmp byte [ebp + 0x3d], 0xa3
jbe 0x447ada
cmp byte [ebp + 0x3d], 0xa5
ja 0x447ada
movzx eax, byte [ebp + 0xc]
sub eax, 0x11
je 0x447ad5
sub eax, 0x91
je 0x447ad5
dec eax
jne 0x447ada
mov ecx, str.RCtrl_up
jmp 0x447ada
push 0x458e24
push dword [ebp + 0x68]
call fcn.004538d0
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.00449ba4
cmp byte [ebp + 0x3b], bl
je 0x447a4d
lea eax, [ebp - 0x34]
push eax
push str.if_not_GetKeyState___s__
push dword [ebp + 0x68]
call fcn.0044118f
push dword [ebp + 0x68]
call fcn.00453b00
add esp, 0x10
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x30], 9
jmp 0x4473a5
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.0044118f
add esp, 0x14
push ebx
push 1
lea eax, [ebp + 0x68]
push eax
push 0x41
mov ecx, esi
call fcn.00449ba4
test eax, eax
je 0x447ca4
push ebx
push ebx
push ebx
push 0x66
mov ecx, esi
call fcn.00449ba4
lea eax, [ebp - 0x168]
push eax
push str._s_up::
push dword [ebp + 0x68]
call fcn.0044118f
push dword [ebp + 0x68]
call fcn.00453b00
add esp, 0x10
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x30], 2
jmp 0x4473a5
lea eax, [ebp - 0x168]
push eax
push str._s::
push dword [ebp + 0x68]
call fcn.0044118f
push dword [ebp + 0x68]
call fcn.00453b00
add esp, 0x10
mov dword [ebp + 0x54], eax
jmp 0x4473a5
push 0x458e24
push dword [ebp + 0x68]
call fcn.004538d0
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.00449ba4
lea eax, [ebp - 0x34]
push eax
push str.Blind_s_Up
push dword [ebp + 0x68]
call fcn.0044118f
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push ebx
push 1
lea eax, [ebp + 0x68]
push eax
push 0x41
call fcn.00449ba4
mov ecx, dword [ebp + 0x60]
push ebx
push ebx
push ebx
push 0x66
call fcn.00449ba4
mov byte [ebp + 0x3d], bl
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x54], ecx
lea ecx, [ebp - 0x63b4]
cmp eax, ecx
mov dword [ebp + 0x68], eax
jne 0x447bfa
lea eax, [ebp - 0xe3bc]
mov edi, dword [ebp + 0x60]
mov dword [ebp + 0x34], eax
mov esi, eax
jmp 0x446ce0
lea eax, [ebp - 0x63b4]
jmp 0x447bed
push esi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 0x60]
call fcn.0044a877
jmp 0x447ca4
lea eax, [ebp - 0xa3b8]
push eax
push str.Functions_cannot_contain_functions.
jmp 0x447c0b
push dword [ebp + 0x68]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
jmp 0x447c08
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 0x447c0b
push dword [ebp + 0x68]
push str.This_hotstring_is_missing_its_abbreviation.
jmp 0x4477ce
push dword [ebp + 0x68]
mov dword [esi + 0x23c], ebx
push str.Duplicate_hotkey.
jmp 0x4477ce
push esi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x447c08
push dword [ebp + 0x68]
push 0x459c4c
jmp 0x447c08
push dword [ebp + 0x74]
jmp 0x447c03
cmp byte [ebp - 0xa3b8], bl
je 0x447cbd
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.0044869b
test eax, eax
jne 0x447cba
push dword [ebp + 0x64]
call fcn.0043dfa7
pop ecx
lea ecx, [ebp - 0x148]
call fcn.0044e833
jmp 0x447cfa
mov dword [edi + 0x4c], esi
push dword [ebp + 0x64]
call fcn.0043dfa7
pop ecx
lea ecx, [ebp - 0x148]
call fcn.0044e833
xor eax, eax
inc eax
jmp 0x447cfc
lea ecx, [ebp - 0x148]
call fcn.0044e833
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.0043b595
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc