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

Disassembly:
push ebp
mov eax, 0xe350
lea ebp, [esp - 0x74]
call fcn.0044ff40
push ebx
mov ebx, ecx
test ebx, ebx
push esi
push edi
je 0x441fcc
cmp byte [ebx], 0
je 0x441fcc
mov eax, dword [0x45faa4]
test eax, eax
mov esi, dword [ebp + 0x7c]
mov dword [ebp + 0xc], eax
jne 0x440d70
mov eax, dword [esi + 0x494]
mov dword [0x45d9c0], eax
and dword [ebp + 0x68], 0
and dword [ebp + 0x2c], 0
xor eax, eax
mov byte [ebp - 0x4388], 0
mov ecx, 0x1000
lea edi, [ebp - 0x4387]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x8390]
mov dword [ebp + 0x6c], eax
push 0x45282f
lea eax, [ebp - 0xe2d8]
push ebx
lea ecx, [ebp - 0x178]
mov dword [ebp + 0x34], eax
call fcn.00449439
test eax, eax
je 0x440dcb
push ecx
fldz
push ecx
fstp qword [esp]
push 0
push ebx
push 0
push str.EXE_corrupted
jmp 0x441fc4
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
xor edi, edi
push str._AUTOHOTKEY_SCRIPT_
lea ecx, [ebp - 0x178]
mov dword [ebp - 8], edi
call fcn.00449811
test eax, eax
jne 0x440df7
mov byte [esi + 0x4b1], al
jmp 0x440e94
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
push str._AHK_WITH_ICON_
lea ecx, [ebp - 0x178]
call fcn.00449811
test eax, eax
jne 0x440e1c
mov byte [esi + 0x4b1], 1
jmp 0x440e94
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
push 0x453824
lea ecx, [ebp - 0x178]
mov dword [ebp - 8], 1
call fcn.00449811
test eax, eax
jne 0x440e47
mov byte [esi + 0x4b1], al
jmp 0x440e6e
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
push 0x45381c
lea ecx, [ebp - 0x178]
call fcn.00449811
test eax, eax
jne 0x441faa
mov byte [esi + 0x4b1], 1
mov eax, dword [ebp + 0x2c]
lea edx, [eax + 0x2bc]
cmp dx, di
jne 0x440e81
mov edx, 0x400
shr eax, 1
mov edi, dword [ebp + 0x68]
push 0
pop ecx
je 0x440e94
sub word [edi + ecx*2], dx
inc ecx
cmp ecx, eax
jb 0x440e8b
mov eax, dword [ebp + 0x68]
inc dword [0x45faa4]
or dword [ebp + 0x1c], 0xffffffff
mov dword [ebp + 0x20], eax
lea eax, [ebp - 0x178]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x48], eax
mov eax, 0x4000
cmp dword [ebp + 0x2c], eax
mov byte [ebp + 0x73], 0
mov byte [ebp + 0x45], 0
mov byte [ebp + 0x42], 0
jg 0x440ecc
mov eax, dword [ebp + 0x2c]
push 0
push eax
lea ecx, [ebp + 0x20]
lea eax, [ebp - 0x8390]
call fcn.004492a8
push 2
mov dword [ebp + 0x60], eax
lea eax, [ebp - 0x8390]
push 0x455f9c
push eax
call dword [sym.imp.MSVCR71.dll_strncmp]
add esp, 0xc
neg eax
sbb al, al
inc al
mov byte [ebp + 0x5b], al
je 0x440f0d
and dword [ebp + 0x60], 0
mov byte [ebp - 0x8390], 0
cmp dword [ebp + 0x60], 0xffffffff
je 0x441f40
mov eax, dword [ebp + 0x1c]
and dword [esi + 0x23c], 0
push 0xc
push str.CommentFlag
push dword [ebp + 0x6c]
inc eax
mov dword [esi + 0x4c], eax
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x440f4d
push dword [ebp + 0x6c]
push esi
call fcn.00442072
test eax, eax
je 0x441f6c
and dword [ebp + 0x54], 0
mov byte [ebp + 0x14], 0
mov eax, dword [ebp + 0x2c]
sub eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
add eax, dword [ebp + 0x68]
mov ecx, 0x4000
cmp eax, ecx
jle 0x440f6c
mov eax, ecx
push dword [ebp + 0x54]
mov edi, dword [ebp + 0x34]
push eax
lea ecx, [ebp + 0x20]
mov eax, edi
call fcn.004492a8
mov esi, eax
test esi, esi
mov dword [ebp + 0x48], esi
je 0x44107f
cmp esi, 0xffffffff
je 0x44107f
cmp byte [ebp + 0x5b], 0
je 0x441053
push 2
push 0x455f88
push edi
call dword [sym.imp.MSVCR71.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x440f55
dec esi
mov byte [ebp + 0x5b], al
dec esi
lea eax, [esi + 1]
push eax
lea eax, [edi + 2]
push eax
push edi
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
mov eax, esi
mov ebx, edi
call fcn.0040a344
cmp byte [edi], 0
mov dword [ebp + 0x48], eax
je 0x440f55
mov esi, eax
cmp dword [ebp + 0x54], 0
jne 0x441436
cmp esi, 0xffffffff
je 0x4410f5
cmp byte [edi], 0x28
jne 0x4410f5
lea ebx, [edi + 1]
cmp byte [ebx], 0x3a
je 0x4410f5
cmp byte [esi + edi - 1], 0x3a
je 0x4410f5
mov cl, byte [0x45e400]
xor eax, eax
inc eax
and dword [ebp + 0x18], 0
mov dword [ebp + 0x54], eax
mov byte [ebp + 0x14], al
mov byte [ebp + 0x3f], cl
mov byte [ebp + 0x3d], al
mov byte [ebp + 0x3a], 0
mov byte [ebp + 0x3e], 0
mov byte [ebp + 0x32], al
mov byte [ebp - 0x20], 0xa
mov byte [ebp - 0x1f], 0
mov dword [ebp + 8], eax
mov al, byte [ebx]
cmp al, 0x20
je 0x441050
cmp al, 9
jne 0x441332
inc ebx
jmp 0x441042
cmp dword [ebp + 0x54], 0
jne 0x441436
push 2
push 0x455f9c
push edi
call dword [sym.imp.MSVCR71.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x440fea
mov byte [ebp + 0x5b], 1
jmp 0x440f55
cmp byte [ebp + 0x5b], 0
je 0x440fe0
cmp esi, 0xffffffff
jne 0x440f55
cmp dword [ebp + 0x60], 0
mov esi, dword [ebp + 0x7c]
je 0x441950
cmp byte [ebp - 0x4388], 0
je 0x44160d
mov eax, dword [ebp + 4]
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x6c]
cmp byte [eax], 0x7b
je 0x4415bc
cmp byte [ebp + 0x3c], 0
jne 0x4415bc
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea eax, [ebp - 0x4388]
push eax
mov ecx, esi
call fcn.00442988
test eax, eax
je 0x441f6c
mov dword [esi + 0x23c], ebx
jmp 0x441603
and dword [ebp + 0x54], 0
cmp esi, 0xffffffff
je 0x441092
test esi, esi
je 0x440f55
cmp byte [esi + edi - 1], 0x3a
jne 0x441112
cmp byte [edi], 0x2c
jne 0x441092
movsx eax, byte [edi]
mov ebx, dword [sym.imp.MSVCR71.dll_toupper]
push eax
call ebx
cmp eax, 0x41
pop ecx
je 0x44129e
cmp eax, 0x4f
je 0x441266
mov cl, byte [edi]
cmp cl, 0x3a
je 0x441142
cmp cl, 0x2b
je 0x441142
cmp cl, 0x2d
jne 0x44114b
cmp byte [edi + 1], cl
je 0x441092
cmp cl, 0x2e
je 0x441155
cmp cl, 0x3f
jne 0x44116c
mov al, byte [edi + 1]
cmp al, 0x20
je 0x44116c
cmp al, 9
je 0x44116c
cmp al, 0xa0
je 0x44116c
cmp al, 0x3d
jne 0x441092
movsx eax, cl
push eax
push str.____:.___
call dword [sym.imp.MSVCR71.dll_strchr]
test eax, eax
pop ecx
pop ecx
je 0x441092
push 0x455f60
push edi
call dword [sym.imp.MSVCR71.dll_strstr]
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x4412f7
cmp byte [edi], 0x3a
jne 0x4411df
jmp 0x4411d0
cmp al, 0x3a
je 0x441092
movsx eax, al
push eax
call dword [sym.imp.MSVCR71.dll_isalnum]
test eax, eax
pop ecx
jne 0x4411d0
movsx eax, byte [edi]
push eax
push str.____t
call dword [sym.imp.MSVCR71.dll_strchr]
test eax, eax
pop ecx
pop ecx
je 0x4411df
inc edi
mov al, byte [edi]
test al, al
jne 0x4411a4
cmp al, 0x3a
je 0x441092
mov edi, dword [ebp + 0x34]
cmp byte [edi], 0x2c
jne 0x441230
lea ebx, [edi + 1]
mov al, byte [ebx]
cmp al, 0x20
je 0x4411f4
cmp al, 9
jne 0x4411f7
inc ebx
jmp 0x4411ea
mov esi, dword [sym.imp.MSVCR71.dll_strncmp]
push 2
push 0x455f60
push ebx
call esi
add esp, 0xc
test eax, eax
je 0x441092
push 3
push 0x453eac
dec ebx
push ebx
call esi
add esp, 0xc
test eax, eax
je 0x441092
mov esi, dword [ebp + 0x48]
jmp 0x4412f7
cmp edi, ebx
mov eax, edi
jae 0x441240
cmp byte [eax], 0x22
je 0x441240
inc eax
cmp eax, ebx
jb 0x441236
cmp eax, ebx
je 0x441092
lea eax, [ebx + 2]
mov cl, byte [eax]
test cl, cl
je 0x441092
cmp cl, 0x22
je 0x441261
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x441255
cmp byte [eax], 0
jmp 0x441222
movsx eax, byte [edi + 1]
push eax
call ebx
cmp eax, 0x52
pop ecx
jne 0x441092
lea eax, [edi + 2]
mov cl, byte [eax]
cmp cl, 0x20
je 0x44128f
cmp cl, 9
je 0x44128f
cmp cl, 0xa0
jne 0x441092
mov cl, byte [eax]
cmp cl, 0x20
je 0x44129b
cmp cl, 9
jne 0x4412de
inc eax
jmp 0x44128f
push 3
push 0x455f84
push edi
call dword [sym.imp.MSVCR71.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x441092
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4412cf
cmp cl, 9
je 0x4412cf
cmp cl, 0xa0
jne 0x441092
mov cl, byte [eax]
cmp cl, 0x20
je 0x4412db
cmp cl, 9
jne 0x4412de
inc eax
jmp 0x4412cf
movsx eax, byte [eax]
push eax
push str.____:
call dword [sym.imp.MSVCR71.dll_strchr]
test eax, eax
pop ecx
pop ecx
jne 0x441092
mov ebx, dword [ebp + 0x60]
lea eax, [esi + ebx]
cmp eax, 0x4000
jae 0x441ed3
cmp byte [edi], 0x2c
je 0x441315
mov eax, dword [ebp + 0x6c]
mov byte [ebx + eax], 0x20
inc ebx
lea eax, [esi + 1]
push eax
mov eax, dword [ebp + 0x6c]
add eax, ebx
push edi
push eax
call sub.MSVCR71.dll_memcpy
add esp, 0xc
add ebx, esi
mov dword [ebp + 0x60], ebx
jmp 0x440f55
cmp byte [ebx], 0
je 0x440f55
mov edi, 0x453ea4
mov eax, ebx
call fcn.00438cc6
mov esi, eax
test esi, esi
jne 0x441358
push ebx
call sub.MSVCR71.dll_strlen
mov esi, eax
pop ecx
add esi, ebx
mov al, byte [esi]
mov edi, dword [sym.imp.MSVCR71.dll__strnicmp]
push 4
push str.Join
push ebx
mov byte [ebp + 0x2b], al
mov byte [esi], 0
call edi
add esp, 0xc
test eax, eax
jne 0x4413aa
add ebx, 4
push ebx
push 0x10
pop eax
lea edi, [ebp - 0x20]
call fcn.00438a10
xor eax, eax
mov al, byte [0x45b0fa]
pop ecx
push 1
push eax
mov eax, edi
push eax
call fcn.00437a67
add esp, 0xc
mov eax, edi
push eax
call sub.MSVCR71.dll_strlen
pop ecx
mov dword [ebp + 8], eax
jmp 0x441414
push 5
push str.LTrim
push ebx
call edi
add esp, 0xc
test eax, eax
jne 0x4413c5
cmp byte [ebx + 5], 0x30
setne byte [ebp + 0x3f]
jmp 0x441414
push 5
push str.RTrim
push ebx
call edi
add esp, 0xc
test eax, eax
jne 0x44140e
cmp byte [ebx + 5], 0x30
setne byte [ebp + 0x3d]
jmp 0x441414
cmp al, 0x25
je 0x441409
cmp al, 0x2c
je 0x441403
cmp al, 0x43
je 0x4413f4
cmp al, 0x60
je 0x4413fd
cmp al, 0x63
jne 0x44140d
mov dword [ebp + 0x54], 2
jmp 0x44140d
mov byte [ebp + 0x3a], 1
jmp 0x44140d
mov byte [ebp + 0x32], 0
jmp 0x44140d
mov byte [ebp + 0x3e], 1
inc ebx
mov al, byte [ebx]
test al, al
jne 0x4413e0
mov al, byte [ebp + 0x2b]
mov byte [esi], al
mov al, byte [esi]
cmp al, 0x20
je 0x441423
cmp al, 9
jne 0x441426
inc esi
jmp 0x441419
cmp byte [esi], 0
mov ebx, esi
jne 0x44133b
jmp 0x440f55
cmp esi, 0xffffffff
je 0x441f31
cmp esi, 0xfffffffe
je 0x440f55
cmp byte [edi], 0x29
jne 0x44146d
mov esi, dword [ebp + 0x34]
and dword [ebp + 0x54], 0
lea eax, [esi + 1]
mov dword [ebp + 0x50], eax
or eax, 0xffffffff
call fcn.0040a38c
dec eax
mov edi, 0x4001
jmp 0x44154d
cmp byte [ebp + 0x3d], 0
mov dword [ebp + 0x50], edi
je 0x441485
mov eax, dword [ebp + 0x48]
mov esi, edi
call fcn.0040a38c
mov dword [ebp + 0x48], eax
mov esi, eax
cmp byte [ebp + 0x3f], 0
je 0x441499
mov eax, esi
mov ebx, edi
call fcn.0040a344
mov dword [ebp + 0x48], eax
mov esi, eax
xor ebx, ebx
cmp byte [ebp + 0x3a], bl
mov edi, 0x4001
je 0x4414d0
mov al, byte [0x45b0fa]
push ebx
push edi
push 0xffffffffffffffff
mov byte [ebp + 0x44], al
mov byte [ebp + 0x40], al
mov byte [ebp + 0x41], al
push 1
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x34]
xor eax, eax
call fcn.0041c6ee
add esp, 0x1c
mov ebx, eax
cmp byte [ebp + 0x3e], 0
je 0x441508
mov al, byte [0x45b0f9]
mov cl, byte [0x45b0fa]
push 0
push edi
push 0xffffffffffffffff
mov byte [ebp + 0x44], al
mov byte [ebp + 0x41], al
push 1
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x34]
xor eax, eax
mov byte [ebp + 0x40], cl
call fcn.0041c6ee
add esp, 0x1c
add ebx, eax
cmp byte [ebp + 0x32], 0
je 0x441540
mov al, byte [0x45b0f8]
mov cl, byte [0x45b0fa]
push 0
push edi
push 0xffffffffffffffff
mov byte [ebp + 0x44], al
mov byte [ebp + 0x41], al
push 1
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x34]
xor eax, eax
mov byte [ebp + 0x40], cl
call fcn.0041c6ee
add esp, 0x1c
add ebx, eax
test ebx, ebx
je 0x441552
push dword [ebp + 0x34]
call sub.MSVCR71.dll_strlen
pop ecx
mov dword [ebp + 0x48], eax
mov esi, eax
mov ebx, dword [ebp + 8]
lea eax, [ebx + esi]
add eax, dword [ebp + 0x60]
cmp eax, edi
jae 0x441f3b
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], 1
jle 0x441594
test ebx, ebx
je 0x441594
mov eax, dword [ebp + 0x50]
cmp eax, dword [ebp + 0x34]
jne 0x441594
mov ecx, dword [ebp + 0x60]
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp + 0x6c]
add ecx, eax
push ecx
call sub.MSVCR71.dll_memcpy
add esp, 0xc
add dword [ebp + 0x60], ebx
test esi, esi
je 0x440f55
mov ecx, dword [ebp + 0x60]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp + 0x6c]
push dword [ebp + 0x50]
add ecx, eax
push ecx
call sub.MSVCR71.dll_memcpy
add esp, 0xc
add dword [ebp + 0x60], esi
jmp 0x440f55
mov eax, dword [0x45b170]
xor ebx, ebx
cmp dword [eax + 0x94], ebx
jne 0x441ee6
lea eax, [ebp - 0xa2d0]
push eax
lea eax, [ebp - 0x4388]
push eax
push esi
call fcn.00447e9e
test eax, eax
je 0x441f6c
cmp byte [ebp + 0x3c], bl
je 0x441603
push ebx
push ebx
push ebx
push 0x6c
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
mov dword [esi + 0x4c], edi
mov byte [ebp - 0x4388], 0
mov edi, dword [ebp + 0x6c]
lea eax, [ebp + 0x3c]
push eax
mov eax, edi
call fcn.00441fd8
test al, al
pop ecx
je 0x44163a
lea eax, [ebp - 0x4388]
push edi
push eax
call sub.MSVCR71.dll_strcpy
mov eax, dword [esi + 0x4c]
pop ecx
pop ecx
mov dword [ebp + 4], eax
jmp 0x441950
xor ebx, ebx
cmp byte [edi], 0x3a
mov dword [ebp + 0x54], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x5c], ebx
jne 0x441746
lea eax, [edi + 1]
mov cl, byte [eax]
test cl, cl
je 0x441746
cmp cl, 0x3a
je 0x44167d
push 0x3a
push eax
mov dword [ebp], eax
call dword [sym.imp.MSVCR71.dll_strchr]
cmp eax, ebx
pop ecx
pop ecx
jne 0x44167a
mov dword [ebp + 0x54], ebx
jmp 0x441746
inc eax
jmp 0x441689
lea eax, [edi + 2]
cmp byte [eax], 0
je 0x441746
cmp eax, ebx
mov dword [ebp + 0x54], eax
je 0x441744
mov ebx, eax
mov al, byte [ebx]
test al, al
je 0x441735
cmp al, byte [0x45b0fa]
je 0x4416b3
cmp al, 0x3a
je 0x4416b3
inc ebx
mov al, byte [ebx]
test al, al
jne 0x4416a0
mov al, byte [ebx]
test al, al
je 0x441735
cmp al, 0x3a
lea edi, [ebx + 1]
jne 0x4416c9
cmp byte [edi], al
jne 0x44172c
mov dword [ebp + 0x5c], ebx
jmp 0x44172a
movsx eax, byte [edi]
sub eax, 0x61
je 0x441709
dec eax
je 0x441704
sub eax, 4
je 0x4416ff
sub eax, 8
je 0x4416fa
sub eax, 4
je 0x4416f5
dec eax
dec eax
je 0x4416f0
dec eax
dec eax
jne 0x44170c
mov byte [edi], 0xb
jmp 0x44170c
mov byte [edi], 9
jmp 0x44170c
mov byte [edi], 0xd
jmp 0x44170c
mov byte [edi], 0xa
jmp 0x44170c
mov byte [edi], 0xc
jmp 0x44170c
mov byte [edi], 8
jmp 0x44170c
mov byte [edi], 7
push edi
call sub.MSVCR71.dll_strlen
pop ecx
inc eax
push eax
push edi
push ebx
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
cmp byte [ebx], 0x3a
jne 0x44172c
cmp byte [edi], 0x3a
jne 0x44172c
mov ebx, edi
mov edi, dword [ebp + 0x6c]
inc ebx
jmp 0x441696
xor eax, eax
cmp dword [ebp + 0x5c], eax
jne 0x44173f
mov dword [ebp + 0x54], eax
cmp dword [ebp + 0x54], eax
jne 0x4417a8
xor ebx, ebx
push 0x455f60
push edi
call dword [sym.imp.MSVCR71.dll_strstr]
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp + 0x5c], eax
je 0x441b23
cmp eax, edi
jne 0x44176d
cmp byte [eax + 2], 0x3a
jne 0x44176d
inc eax
mov dword [ebp + 0x5c], eax
push dword [ebp + 0x6c]
call fcn.00438c1f
mov edi, eax
mov bl, byte [edi]
mov eax, dword [ebp + 0x6c]
pop ecx
mov byte [edi], 0
mov cl, byte [eax]
cmp cl, 0x20
je 0x44178c
cmp cl, 9
jne 0x44178f
inc eax
jmp 0x441780
push 0
push 0
push eax
call fcn.00410770
add esp, 0xc
test eax, eax
jne 0x4417a3
and dword [ebp + 0x5c], eax
mov byte [edi], bl
mov edi, dword [ebp + 0x6c]
cmp dword [ebp + 0x5c], 0
je 0x441b23
cmp dword [ebp + 0x5c], edi
jbe 0x441b23
mov eax, dword [0x45b170]
cmp dword [eax + 0x94], 0
jne 0x441ef4
mov eax, dword [esi + 4]
test eax, eax
je 0x4417dd
cmp byte [eax], 0x1b
je 0x441efc
mov eax, dword [ebp + 0x5c]
add dword [ebp + 0x5c], 2
cmp dword [ebp + 0x54], 0
mov byte [eax], 0
jne 0x4419eb
mov ebx, dword [ebp + 0x5c]
or eax, 0xffffffff
call fcn.0040a344
or eax, 0xffffffff
mov esi, edi
call fcn.0040a38c
mov esi, ebx
cmp byte [esi], 0
mov dword [ebp + 0x50], esi
je 0x4419e5
mov eax, dword [ebp + 0x6c]
xor ebx, ebx
push ebx
push ebx
call fcn.00410a94
mov edi, dword [sym.imp.USER32.dll_GetKeyboardLayout]
pop ecx
pop ecx
push ebx
mov dword [ebp + 0x60], eax
call edi
push eax
mov eax, dword [ebp + 0x60]
push 1
push ebx
push ebx
call fcn.00415537
add esp, 0x10
cmp al, bl
mov byte [ebp + 0x3b], al
je 0x4419e5
cmp byte [esi + 1], bl
je 0x441874
push ebx
push ebx
mov eax, esi
call fcn.00410a94
pop ecx
pop ecx
push ebx
mov dword [ebp + 0x50], eax
call edi
push eax
mov eax, dword [ebp + 0x50]
push 1
push ebx
push ebx
call fcn.00415537
add esp, 0x10
mov byte [ebp + 0x73], al
jmp 0x441878
mov byte [ebp + 0x73], 0xff
cmp byte [ebp + 0x73], bl
je 0x4419e5
mov al, byte [ebp + 0x73]
call fcn.0043de03
mov byte [ebp + 0x4f], al
mov al, byte [ebp + 0x3b]
call fcn.0043de03
xor ebx, ebx
test al, al
jne 0x4418a3
cmp byte [ebp + 0x4f], bl
mov byte [ebp + 0x33], 1
jne 0x4418a6
mov byte [ebp + 0x33], bl
mov esi, dword [ebp + 0x60]
push esi
call sub.MSVCR71.dll_strlen
cmp eax, 1
pop ecx
jne 0x4418c9
xor eax, eax
mov al, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x455e9c
jne 0x4418ce
mov eax, 0x45282f
push dword [ebp + 0x6c]
lea edi, [ebp - 0x60]
push eax
push 0x455e94
push 0x20
pop esi
call fcn.0040a3cc
add esp, 0xc
push dword [ebp + 0x50]
mov eax, esi
lea edi, [ebp - 0x40]
call fcn.00438a10
pop ecx
push dword [ebp + 0x5c]
lea edi, [ebp - 0x10]
push 8
pop eax
call fcn.00438a10
mov eax, dword [ebp + 0x50]
sub eax, dword [ebp + 0x5c]
pop ecx
cmp eax, 8
jae 0x441911
mov byte [ebp + eax - 0x10], bl
cmp byte [ebp - 0x10], bl
mov dword [ebp + 0x24], ebx
jne 0x44194d
movzx eax, byte [ebp + 0x73]
sub eax, 0xd
je 0x4419c8
sub eax, 4
je 0x441938
dec eax
dec eax
je 0x4419e1
sub eax, 0x4c
jne 0x44194d
mov eax, dword [ebp + 0x5c]
mov edi, 0x454260
call fcn.00438cc6
test eax, eax
jne 0x4419e1
mov esi, dword [ebp + 0x7c]
xor ebx, ebx
cmp byte [ebp + 0x73], 0
je 0x441ea4
inc dword [ebp + 0x24]
mov eax, dword [ebp + 0x24]
dec eax
je 0x441e2b
dec eax
je 0x441d80
dec eax
je 0x441e4b
sub eax, 7
jne 0x441ea4
cmp byte [ebp + 0x73], 0x12
mov ecx, 0x45282f
je 0x44199f
cmp byte [ebp + 0x73], 0xa3
jbe 0x441dd0
cmp byte [ebp + 0x73], 0xa5
ja 0x441dd0
movzx eax, byte [ebp + 0x3b]
sub eax, 0x11
je 0x441dcb
sub eax, 0x91
je 0x441dcb
dec eax
jne 0x441dd0
mov ecx, str.RCtrl_up
jmp 0x441dd0
lea eax, [ebp - 0x40]
push str.Return
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x44194d
mov byte [ebp + 0x73], 0
mov esi, dword [ebp + 0x7c]
mov edi, dword [ebp + 0x6c]
cmp byte [esi + 0x50], 0
je 0x441a14
xor ebx, ebx
push ebx
push 0xff
push ebx
push 0x66
push esi
mov byte [esi + 0x50], 0
call fcn.00444071
test eax, eax
je 0x441f6c
mov dword [esi + 0x23c], ebx
push 1
mov eax, edi
mov ebx, esi
call fcn.00448693
test eax, eax
je 0x441f6c
mov eax, dword [ebp + 0x5c]
xor ebx, ebx
cmp byte [eax], bl
mov dword [ebp + 0x50], ebx
je 0x441a82
cmp dword [ebp + 0x54], ebx
jne 0x441a6f
push ebx
mov edi, eax
call fcn.0040ff30
cmp ax, bx
pop ecx
mov dword [ebp + 0x50], eax
jne 0x441a6f
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, edi
call fcn.00441fd8
neg al
sbb al, al
pop ecx
mov ecx, esi
and eax, 3
push eax
push edi
call fcn.00442988
test eax, eax
je 0x441f6c
push ebx
push ebx
push ebx
push 0x66
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
mov ecx, dword [ebp + 0x54]
cmp ecx, ebx
je 0x441aaf
cmp byte [ecx], bl
je 0x441f0d
mov eax, dword [ebp]
cmp eax, ebx
jne 0x441a9d
mov eax, 0x45282f
push dword [ebp + 0x14]
push dword [ebp + 0x5c]
push ecx
push eax
push dword [esi + 0x10]
call fcn.0040f400
jmp 0x441b13
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x6c]
call fcn.00410693
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x441b03
mov eax, dword [ebp + 0x50]
cmp ax, bx
je 0x441ad4
mov word [edi + 2], ax
jmp 0x441950
mov eax, edi
call fcn.00411576
test eax, eax
jne 0x441f17
push dword [ebp + 0x10]
push dword [esi + 0x10]
call fcn.00411476
test eax, eax
jne 0x441950
push dword [ebp + 0x6c]
push str.Out_of_memory.
jmp 0x441f2d
push ebx
push dword [ebp + 0x10]
push ebx
push dword [ebp + 0x50]
push dword [esi + 0x10]
call fcn.0040fea4
add esp, 0x14
test eax, eax
je 0x441f6c
jmp 0x441950
mov eax, dword [ebp + 0x60]
cmp byte [eax + edi - 1], 0x3a
jne 0x441c00
cmp eax, 1
je 0x441f27
mov cl, byte [edi]
mov edx, edi
jmp 0x441b6d
cmp cl, 0x20
je 0x441c00
cmp cl, 9
je 0x441c00
cmp cl, byte [0x45b0f8]
je 0x441c00
cmp cl, byte [0x45b0fa]
je 0x441c00
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x441b40
cmp byte [eax + edi - 2], 0x3a
jne 0x441bdb
cmp eax, 2
jbe 0x441bdb
cmp byte [esi + 0x50], cl
je 0x441ba4
xor edi, edi
push edi
push 0xff
push edi
push 0x66
push esi
mov byte [esi + 0x50], cl
call fcn.00444071
test eax, eax
je 0x441f6c
mov dword [esi + 0x23c], edi
push dword [ebp + 0x6c]
mov esi, 0x204
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
lea edi, [ebp - 0x380]
call fcn.0040a3cc
fldz
fstp qword [esp]
mov eax, edi
push 0
push 0
push 0x10000
push eax
call fcn.0043b30a
mov edi, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x60]
add esp, 0x18
dec eax
mov esi, edi
mov byte [eax + edi], 0
call fcn.0040a38c
mov ebx, dword [ebp + 0x7c]
push 0
mov eax, edi
call fcn.00448693
test eax, eax
je 0x441f6c
jmp 0x44194d
cmp byte [edi], 0x23
jne 0x441c2a
mov ebx, dword [esi + 0x4c]
push edi
push esi
call fcn.00442072
test eax, eax
je 0x441f6c
cmp eax, 3
jne 0x441c2a
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ebx
jmp 0x441950
cmp byte [edi], 0x7d
jne 0x441c6c
xor eax, eax
push eax
push eax
push eax
push 0x6d
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
lea eax, [edi + 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x441c53
cmp cl, 9
jne 0x441c56
inc eax
jmp 0x441c47
cmp byte [eax], 0
mov dword [ebp + 0x6c], eax
je 0x441950
push eax
call sub.MSVCR71.dll_strlen
pop ecx
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x6c]
mov edi, str._t__
call fcn.00438cc6
mov edi, dword [ebp + 0x6c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp + 0x50], eax
jne 0x441c8d
mov eax, dword [ebp + 0x60]
add eax, edi
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push 0xffffffffffffffff
push eax
mov eax, str.Else
mov ecx, edi
call fcn.00438a29
test eax, eax
pop ecx
pop ecx
push ebx
push ebx
push ebx
je 0x441d08
cmp byte [edi], 0x7b
jne 0x441d03
push 0x6c
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
inc edi
mov al, byte [edi]
cmp al, 0x20
je 0x441cbf
cmp al, 9
je 0x441cbf
test al, al
je 0x441952
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, edi
mov dword [esi + 0x23c], ebx
call fcn.00441fd8
neg al
sbb al, al
pop ecx
and eax, 3
push eax
push edi
mov ecx, esi
call fcn.00442988
test eax, eax
je 0x441f6c
jmp 0x441952
push ebx
push ebx
push ebx
jmp 0x441cee
push 9
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
mov eax, dword [ebp + 0x50]
mov dword [esi + 0x23c], ebx
mov cl, byte [eax]
cmp cl, 0x20
je 0x441d2d
cmp cl, 9
jne 0x441d30
inc eax
jmp 0x441d21
mov cl, byte [eax]
cmp cl, byte [0x45b0f8]
mov edi, eax
jne 0x441d4c
lea edi, [eax + 1]
mov al, byte [edi]
cmp al, 0x20
je 0x441d49
cmp al, 9
jne 0x441d4c
inc edi
jmp 0x441d3f
cmp byte [edi], 0
je 0x441952
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, edi
call fcn.00441fd8
neg al
sbb al, al
pop ecx
mov ecx, esi
and eax, 3
push eax
push edi
call fcn.00442988
test eax, eax
jne 0x441952
jmp 0x441f6c
push 0x455dac
push dword [ebp + 0x6c]
call sub.MSVCR71.dll_strcpy
cmp byte [ebp + 0x4f], 0
pop ecx
pop ecx
push ebx
push 1
lea eax, [ebp + 0x6c]
push eax
setne al
add al, 0xb9
push eax
push esi
call fcn.00444071
cmp byte [ebp + 0x33], 0
je 0x441980
lea eax, [ebp - 0x40]
push eax
push str.if_not_GetKeyState___s__
push dword [ebp + 0x6c]
call dword [sym.imp.MSVCR71.dll_sprintf]
mov dword [ebp + 0x24], 9
jmp 0x441e3d
mov ecx, str.LCtrl_up
mov edi, dword [sym.imp.MSVCR71.dll_sprintf]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x10]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push dword [ebp + 0x6c]
mov dword [esi + 0x23c], ebx
call edi
add esp, 0x14
push ebx
push 1
lea eax, [ebp + 0x6c]
push eax
push 0x41
push esi
call fcn.00444071
test eax, eax
je 0x441f6c
push ebx
push ebx
push ebx
push 0x66
push esi
call fcn.00444071
lea eax, [ebp - 0x60]
push eax
push str._s_up::
push dword [ebp + 0x6c]
call edi
mov dword [ebp + 0x24], 2
jmp 0x441e3d
lea eax, [ebp - 0x60]
push eax
push str._s::
push dword [ebp + 0x6c]
call dword [sym.imp.MSVCR71.dll_sprintf]
mov edi, dword [ebp + 0x6c]
add esp, 0xc
mov dword [ebp + 0x60], eax
jmp 0x44163a
push 0x455dac
push dword [ebp + 0x6c]
call sub.MSVCR71.dll_strcpy
cmp byte [ebp + 0x4f], 0
pop ecx
pop ecx
push ebx
push 1
lea eax, [ebp + 0x6c]
push eax
setne al
add al, 0xb9
push eax
push esi
call fcn.00444071
lea eax, [ebp - 0x40]
push eax
push str.Blind_s_Up
push dword [ebp + 0x6c]
call dword [sym.imp.MSVCR71.dll_sprintf]
add esp, 0xc
push ebx
push 1
lea eax, [ebp + 0x6c]
push eax
push 0x41
push esi
call fcn.00444071
push ebx
push ebx
push ebx
push 0x66
push esi
call fcn.00444071
mov byte [ebp + 0x73], 0
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x60], ecx
lea ecx, [ebp - 0x8390]
cmp eax, ecx
mov dword [ebp + 0x6c], eax
jne 0x441ecb
lea eax, [ebp - 0xe2d8]
mov esi, dword [ebp + 0x7c]
mov dword [ebp + 0x34], eax
jmp 0x440f0d
lea eax, [ebp - 0x8390]
jmp 0x441ec0
push edi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 0x7c]
call fcn.0044506b
jmp 0x441f6c
lea eax, [ebp - 0x4388]
push eax
push str.Functions_cannot_contain_functions.
jmp 0x441f2d
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
jmp 0x441f2d
mov eax, dword [esi + 4]
push edi
mov dword [esi + 0x23c], eax
push str.IfWin_should_be_IfWin.
jmp 0x441f2d
push dword [ebp + 0x6c]
push str.This_hotstring_is_missing_its_abbreviation.
jmp 0x441f2d
push dword [ebp + 0x6c]
mov dword [esi + 0x23c], ebx
push str.Duplicate_hotkey.
jmp 0x441f2d
push edi
push str.This_line_does_not_contain_a_recognized_action.
mov ecx, esi
jmp 0x441edc
push dword [ebp + 0x6c]
push str.Missing____
jmp 0x441ed9
push dword [ebp + 0x50]
jmp 0x441ed4
xor ebx, ebx
cmp byte [ebp - 0x4388], bl
je 0x441f7c
mov eax, dword [ebp + 4]
mov edi, dword [esi + 0x4c]
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [esi + 0x4c], eax
push 3
lea eax, [ebp - 0x4388]
push eax
mov ecx, esi
call fcn.00442988
test eax, eax
jne 0x441f79
push dword [ebp + 0x68]
push dword [ebp + 0x64]
call fcn.0044928f
jmp 0x441fce
mov dword [esi + 0x4c], edi
cmp dword [ebp - 8], ebx
je 0x441f90
push dword [ebp + 0x2c]
push ebx
push dword [ebp + 0x68]
call sub.MSVCR71.dll_memset
add esp, 0xc
push dword [ebp + 0x68]
call dword [sym.imp.MSVCR71.dll_free]
pop ecx
lea ecx, [ebp - 0x178]
call fcn.0044961e
xor eax, eax
inc eax
jmp 0x441fce
lea ecx, [ebp - 0x178]
call fcn.0044961e
fldz
push ecx
push ecx
fstp qword [esp]
push edi
push ebx
push edi
push str.Could_not_extract_script_from_EXE.
call fcn.0043b30a
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4