Function at 0x43540f
Capabilities:
Log keystrokes via polling
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x19c]
sub esp, 0x21c
mov eax, dword [0x4705d0]
xor eax, ebp
mov dword [ebp + 0x198], eax
push ebx
push esi
push edi
xor ebx, ebx
mov esi, 0x103
push esi
lea eax, [ebp + 0x95]
push ebx
push eax
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov byte [ebp + 0x94], bl
call fcn.004464f0
push esi
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call fcn.004464f0
mov edi, dword [ebp + 0x1a8]
mov esi, dword [ebp + 0x1a4]
imul edi, edi, 0xf54
lea esi, [esi*4 + 0x473bec]
mov eax, dword [esi]
mov byte [edi + eax + 0xf24], 2
mov eax, dword [esi]
add eax, edi
add esp, 0x18
cmp eax, ebx
je 0x43549c
push 3
push 0x45a098
push eax
call fcn.00446461
add esp, 0xc
jmp 0x43549f
xor eax, eax
inc eax
mov ebx, str.ELSE
test eax, eax
jne 0x4355be
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4355be
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4355be
inc dword [0x476fe0]
cmp dword [0x476fe0], 0x10
jl 0x435502
push str.____WARNING:_Too_many_embedded_IF_statements
call fcn.0042036e
pop ecx
mov dword [0x476fe0], 0xf
mov eax, dword [esi]
add eax, edi
push str.IF_Expression
xor ebx, ebx
push eax
mov dword [ebp - 0x78], ebx
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435744
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
cmp byte [0x476258], bl
je 0x43559f
push dword [0x4775e4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, eax
inc ecx
mov eax, 0x103
cmp ecx, eax
jg 0x435564
push dword [0x4775e4]
call ebx
inc eax
push eax
push dword [0x4775e4]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x178]
push 0x45e2fc
push eax
call fcn.00445ea0
lea eax, [ebp + 0x94]
push eax
push str.____Expression:___s_
call fcn.0042036e
add esp, 0x14
mov eax, dword [0x4775e4]
test eax, eax
je 0x4356c9
push 0x45db04
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x4356cb
mov eax, dword [esi]
add eax, edi
je 0x4355d6
push 3
push 0x45a098
push eax
call fcn.00446461
add esp, 0xc
jmp 0x4355d9
xor eax, eax
inc eax
test eax, eax
jne 0x435644
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push ebx
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x435644
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x435644
mov eax, dword [0x476fe0]
cmp dword [eax*4 + 0x476fe8], 0
je 0x435502
mov eax, dword [esi]
push 1
push dword [ebp + 0x1a8]
mov byte [edi + eax + 0xf24], 0
push dword [ebp + 0x1a4]
call fcn.00431fdf
mov dword [0x47040c], eax
xor eax, eax
inc eax
jmp 0x435e61
mov eax, dword [esi]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
add eax, edi
push eax
call ebx
test eax, eax
jne 0x43566e
mov eax, dword [0x476fe0]
cmp dword [eax*4 + 0x476fe8], 0
jne 0x43561a
mov eax, dword [ebp + 0x1a8]
inc eax
jmp 0x435637
mov eax, dword [esi]
push str.END_IF
add eax, edi
push eax
call ebx
test eax, eax
jne 0x435502
mov eax, dword [0x476fe0]
mov eax, dword [eax*4 + 0x476fe8]
test eax, eax
jne 0x43569e
push str.____Closing_IF_block_which_evaluated_to_false
call fcn.0042036e
jmp 0x4356aa
push eax
push str.____Closing_IF_block_which_evaluated_to_TRUE_at__Step__d_
call fcn.0042036e
pop ecx
mov eax, dword [0x476fe0]
and dword [eax*4 + 0x476fe8], 0
dec dword [0x476fe0]
pop ecx
jns 0x435665
and dword [0x476fe0], 0
jmp 0x435665
xor eax, eax
test eax, eax
jne 0x4356ed
mov eax, dword [0x4775e4]
test eax, eax
je 0x4356e7
push 0x461088
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x4356e9
xor eax, eax
test eax, eax
je 0x435734
mov eax, dword [0x4775e4]
test eax, eax
je 0x435705
push 0x45db00
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435707
xor eax, eax
test eax, eax
jne 0x435729
mov eax, dword [0x4775e4]
test eax, eax
je 0x435723
push 0x461084
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435725
xor eax, eax
test eax, eax
je 0x435734
push str.____WARNING:_Expressions_can_have_either__or___but_not_both_mixed_together_____since_parenthesis_are_not_supported_in_logical_evaluations__like_they_are_in_math_calculations_
call fcn.0042036e
pop ecx
push dword [0x4775e4]
call fcn.0041f974
jmp 0x435c03
add eax, edi
push str.IF_Text
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4360cc
mov eax, dword [esi]
add eax, edi
push str.IF_String
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4360cc
mov eax, dword [esi]
add eax, edi
push str.Registry
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x4357bc
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
push dword [0x4775e4]
push ebx
push ebx
push ebx
push 1
call fcn.0044129f
add esp, 0x14
jmp 0x435c03
add eax, edi
push str.Process
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43581f
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
push 2
push ebx
push ebx
push ebx
push 1
push dword [0x4775e4]
call fcn.00442bcb
mov ebx, eax
test ebx, ebx
jne 0x4359a4
push 1
push eax
push eax
push eax
push 1
push dword [0x4775e4]
call fcn.00442bcb
mov ebx, eax
jmp 0x4359a4
add eax, edi
push str.Variable
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435ab4
push 0x459858
push dword [edi + eax + 0x50]
call fcn.0043f997
cmp eax, 2
jne 0x435854
mov dword [ebp - 0x74], 3
jmp 0x43588c
mov eax, dword [esi]
push 0x45cd94
push dword [edi + eax + 0x50]
call fcn.0043f997
cmp eax, 1
jne 0x435885
mov eax, dword [esi]
push 0x460fc8
push dword [edi + eax + 0x50]
call fcn.0043f997
mov dword [ebp - 0x74], 2
cmp eax, 1
je 0x43588c
mov dword [ebp - 0x74], 1
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Exist
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4359cd
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Define
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4359cd
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Empty
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435944
cmp dword [ebp - 0x74], 1
jne 0x43591e
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x4358eb
inc eax
push eax
lea eax, [ebp + 0x94]
push str.SOFTWARE_vTaskUserVariables_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x94]
push eax
xor eax, eax
push eax
push eax
push eax
push 1
call fcn.0044129f
add esp, 0x20
test eax, eax
je 0x4359a4
mov eax, dword [esi]
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
mov eax, dword [0x4775e4]
cmp byte [eax], 0
jmp 0x435a4d
lea eax, [edi + eax + 0x58]
push str.Numeric
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4359a4
mov eax, dword [esi]
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
mov eax, dword [0x4775e4]
cmp byte [eax], 0
je 0x4359a4
push str.0123456789.___r_n_t_
push eax
call fcn.004481e0
pop ecx
pop ecx
push dword [0x4775e4]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jae 0x435aac
mov ebx, dword [ebp - 0x78]
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x460fa0
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43665e
test ebx, ebx
jne 0x43665c
inc ebx
jmp 0x436662
cmp dword [ebp - 0x74], 1
jne 0x435a0f
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x4359df
inc eax
push eax
lea eax, [ebp + 0x94]
push str.SOFTWARE_vTaskUserVariables_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x94]
push eax
xor eax, eax
push eax
push eax
push eax
push 1
call fcn.0044129f
add esp, 0x20
test eax, eax
jmp 0x435aa6
cmp dword [ebp - 0x74], 2
jne 0x435a55
mov eax, dword [esi]
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
mov eax, dword [0x4775e4]
cmp byte [eax], 0
je 0x4359a4
push 0x45cd94
push eax
call fcn.00445d80
pop ecx
pop ecx
test eax, eax
jne 0x4359a4
jmp 0x435aac
cmp dword [ebp - 0x74], 3
jne 0x4359a4
mov eax, dword [esi]
push dword [edi + eax + 0x50]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push 0
push 0x4597fe
push 0x459858
lea eax, [ebp + 0x94]
push eax
call fcn.0043fa75
push 0x103
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp byte [ebp - 0x70], 0
je 0x4359a4
xor ebx, ebx
inc ebx
jmp 0x4359a4
add eax, edi
push str.IF_File_Exists
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435b5d
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
cmp byte [0x476258], 0
je 0x435b4d
push dword [0x4775e4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, eax
inc ecx
mov eax, 0x103
cmp ecx, eax
jg 0x435b12
push dword [0x4775e4]
call ebx
inc eax
push eax
push dword [0x4775e4]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x178]
push 0x45e2fc
push eax
call fcn.00445ea0
lea eax, [ebp + 0x94]
push eax
push str.____File:___s_
call fcn.0042036e
add esp, 0x14
push dword [0x4775e4]
call fcn.0040bf89
jmp 0x435c03
add eax, edi
push str.IF_Folder_Exists
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435c10
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
cmp byte [0x476258], 0
je 0x435bf6
push dword [0x4775e4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, eax
inc ecx
mov eax, 0x103
cmp ecx, eax
jg 0x435bbb
push dword [0x4775e4]
call ebx
inc eax
push eax
push dword [0x4775e4]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x178]
push 0x45e2fc
push eax
call fcn.00445ea0
lea eax, [ebp + 0x94]
push eax
push str.____Folder:___s_
call fcn.0042036e
add esp, 0x14
push 0
push dword [0x4775e4]
call fcn.0040cd63
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
jmp 0x4359a4
add eax, edi
push str.IF_Window_Exists
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435cdf
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
push ebx
push dword [0x472420]
push dword [0x4775e4]
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
call fcn.0041f203
push eax
call fcn.0044498e
mov dword [ebp - 0x78], eax
cmp byte [0x476258], bl
je 0x435cd2
push dword [0x4775e4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, eax
inc ecx
mov eax, 0x103
cmp ecx, eax
jg 0x435c94
push dword [0x4775e4]
call ebx
inc eax
push eax
push dword [0x4775e4]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x178]
push 0x45e2fc
push eax
call fcn.00445ea0
push dword [ebp - 0x78]
lea eax, [ebp + 0x94]
push eax
push str.____Window:____s_____lu_
call fcn.0042036e
add esp, 0x18
xor ebx, ebx
cmp dword [ebp - 0x78], ebx
setne bl
jmp 0x4359a4
add eax, edi
push str.Pixel
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x435fa9
mov eax, dword [esi]
add eax, edi
push str.Image
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x435fa9
mov eax, dword [esi]
add eax, edi
push str.Pressed
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x435d92
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
push ebx
push ebx
push ebx
push dword [0x4775e4]
call fcn.00437877
movzx eax, al
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, ax
mov dword [ebp - 0x78], eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
cmp eax, ebx
je 0x435d76
push str.Last
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435d78
xor eax, eax
cmp eax, ebx
je 0x435d86
cmp word [ebp - 0x78], bx
jne 0x435aac
movzx ebx, word [ebp - 0x78]
shr ebx, 0xf
jmp 0x4359a4
add eax, edi
push str.IF_Caps_Lock_is_On
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x435db8
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ebx, al
and ebx, 1
jmp 0x4359a4
mov eax, dword [esi]
add eax, edi
push str.IF_Clipboard
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4359a4
push 0
call fcn.00440693
mov dword [ebp - 0x74], eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x435df4
push str.Empty
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435df6
xor eax, eax
test eax, eax
jne 0x435f5e
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x435e17
push str.Any_Text
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435e19
xor eax, eax
test eax, eax
jne 0x435f5e
cmp dword [ebp - 0x74], eax
jle 0x4359a4
mov eax, 0x1000
cmp dword [ebp - 0x74], eax
jle 0x435e37
mov eax, dword [ebp - 0x74]
push 1
push eax
call fcn.004462a8
xor ebx, ebx
pop ecx
pop ecx
mov dword [ebp - 0x78], eax
cmp eax, ebx
jne 0x435e7b
mov eax, dword [0x473bbc]
cmp eax, ebx
je 0x435e5f
push str.Insufficient_memory_available
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
mov ecx, dword [ebp + 0x198]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004464bf
add ebp, 0x19c
leave
ret 8
push eax
call fcn.00440693
mov eax, dword [ebp - 0x74]
inc eax
cmp eax, 0x3f
jle 0x435e8d
push 0x3f
pop eax
push eax
push dword [ebp - 0x78]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [esi]
push ebx
push ebx
push dword [ebp + 0x1a8]
mov byte [ebp + 0xd2], 0x2e
push dword [ebp + 0x1a4]
mov byte [ebp + 0xd1], 0x2e
mov byte [ebp + 0xd0], 0x2e
mov byte [ebp + 0xd3], 0
push dword [edi + eax + 0x50]
call fcn.00439ea7
lea eax, [ebp + 0x94]
push eax
push str.____Clipboard_Contains:__s
call fcn.0042036e
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
pop ecx
pop ecx
test eax, eax
je 0x435eff
push str.Partial
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435f01
xor eax, eax
test eax, eax
jne 0x435f39
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x435f1e
push str.Insens
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435f20
xor eax, eax
test eax, eax
jne 0x435f39
push dword [0x4775e4]
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x435f50
jmp 0x435f4d
push dword [0x4775e4]
push dword [ebp - 0x78]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x435f50
xor ebx, ebx
inc ebx
push dword [ebp - 0x78]
call fcn.00445e06
pop ecx
jmp 0x4359a4
cmp dword [ebp - 0x74], 0
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
jne 0x435f88
test eax, eax
je 0x435f7d
push str.Is_Empty
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435f7f
xor eax, eax
xor ebx, ebx
test eax, eax
jmp 0x435cd7
test eax, eax
je 0x435f9b
push str.Is_Empty
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x435f9d
xor eax, eax
xor ebx, ebx
test eax, eax
sete bl
jmp 0x4359a4
mov eax, dword [esi]
add eax, edi
push str.Equals
push eax
call fcn.004010ff
pop ecx
test eax, eax
pop ecx
lea eax, [ebp - 0x7c]
je 0x436061
push eax
lea eax, [ebp - 0x80]
push eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x364]
push eax
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
call fcn.0041eea2
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x7c]
mov dword [ebp - 0x74], eax
push dword [ebp - 0x80]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebx
lea eax, [ebp + 0x94]
push eax
push dword [ebp - 0x78]
call fcn.00440102
mov eax, dword [esi]
push ebx
push ebx
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
push dword [0x4775e4]
lea eax, [ebp + 0x94]
push eax
push str._____s___s
call fcn.0042036e
add esp, 0xc
push dword [0x4775e4]
call fcn.00440283
cmp dword [ebp - 0x78], eax
jmp 0x435fa1
push 0
push 0
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
call fcn.0043219a
test eax, eax
je 0x4360c5
push dword [ebp - 0x7c]
lea eax, [ebp + 0x94]
push dword [ebp - 0x80]
push str._d___d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x94]
push eax
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
call fcn.00423053
jmp 0x435aac
xor ebx, ebx
jmp 0x4359a4
mov eax, dword [esi]
push 0
push 0
push dword [ebp + 0x1a8]
lea eax, [edi + eax + 0x364]
push dword [ebp + 0x1a4]
push eax
call fcn.00439ea7
push dword [0x4775e4]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov ecx, eax
add ecx, 0x100
mov eax, 0x1000
cmp ecx, eax
jle 0x436117
push dword [0x4775e4]
call ebx
add eax, 0x100
push 1
push eax
call fcn.004462a8
pop ecx
pop ecx
mov dword [ebp - 0x74], eax
test eax, eax
je 0x4360c5
mov eax, dword [0x4775e4]
test eax, eax
je 0x436210
push eax
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi]
push 0
push 0
push dword [ebp + 0x1a8]
push dword [ebp + 0x1a4]
push dword [edi + eax + 0x50]
call fcn.00439ea7
cmp byte [0x476258], 0
je 0x436210
push dword [ebp - 0x74]
call ebx
inc eax
cmp eax, 0x103
jle 0x43617b
mov eax, 0x103
jmp 0x436181
push dword [ebp - 0x74]
call ebx
inc eax
push eax
push dword [ebp - 0x74]
lea eax, [ebp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push dword [0x4775e4]
call ebx
inc eax
cmp eax, 0x103
jle 0x4361a9
mov eax, 0x103
jmp 0x4361b2
push dword [0x4775e4]
call ebx
inc eax
push eax
push dword [0x4775e4]
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x178]
push 0x45e2fc
push eax
call fcn.00445ea0
push 4
lea eax, [ebp + 0x74]
push 0x45e2fc
push eax
call fcn.00445ea0
add esp, 0x18
push dword [0x4775e4]
call ebx
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x74]
call ebx
push eax
lea eax, [ebp + 0x94]
push eax
push str.____Text_Strings:____s___len:_d_______s___len:_d_
call fcn.0042036e
add esp, 0x14
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Is_Empty
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436241
mov eax, dword [0x4775e4]
test eax, eax
je 0x436239
cmp byte [eax], 0
jne 0x436652
xor ebx, ebx
inc ebx
jmp 0x436654
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Equal
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436356
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Value
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436356
mov eax, dword [0x4775e4]
cmp byte [eax], 0
mov eax, dword [ebp - 0x74]
je 0x436230
cmp byte [eax], 0
je 0x436652
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Exact
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4362f1
mov eax, dword [0x4775e4]
test eax, eax
je 0x4362e6
push eax
call ebx
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
cmp eax, ecx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
jle 0x4362ca
push dword [ebp - 0x74]
jmp 0x4362d0
push dword [0x4775e4]
call ebx
push eax
push dword [ebp - 0x74]
push dword [0x4775e4]
call fcn.00448060
add esp, 0xc
jmp 0x4362e9
xor eax, eax
inc eax
test eax, eax
je 0x436239
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Insen
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436652
mov eax, dword [0x4775e4]
test eax, eax
je 0x43634c
push eax
call ebx
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
cmp eax, ecx
jle 0x43632c
push dword [ebp - 0x74]
jmp 0x436332
push dword [0x4775e4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp - 0x74]
push dword [0x4775e4]
call fcn.00446461
add esp, 0xc
jmp 0x43634f
xor eax, eax
inc eax
test eax, eax
jmp 0x436233
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Length
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436428
mov eax, dword [ebp - 0x74]
cmp byte [eax], 0
je 0x436652
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.equal
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4363b5
push dword [0x4775e4]
call ebx
push dword [ebp - 0x74]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
je 0x436239
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.less
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4363ed
push dword [0x4775e4]
call ebx
push dword [ebp - 0x74]
mov ebx, eax
call fcn.0040109c
cmp ebx, eax
pop ecx
jl 0x436239
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.more
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436652
push dword [0x4775e4]
call ebx
push dword [ebp - 0x74]
mov ebx, eax
call fcn.0040109c
cmp ebx, eax
pop ecx
jle 0x436652
jmp 0x436239
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Contains
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43654d
mov eax, dword [0x4775e4]
cmp byte [eax], 0
je 0x436652
mov eax, dword [ebp - 0x74]
cmp byte [eax], 0
je 0x436652
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Exact
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436494
mov eax, dword [0x4775e4]
test eax, eax
je 0x43648a
push dword [ebp - 0x74]
push eax
call fcn.00445d80
pop ecx
pop ecx
jmp 0x43648c
xor eax, eax
test eax, eax
jne 0x436239
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Insen
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4364c3
push dword [ebp - 0x74]
push dword [0x4775e4]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x436239
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Only
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43650d
mov eax, dword [0x4775e4]
test eax, eax
je 0x436503
push dword [ebp - 0x74]
push eax
call fcn.004481e0
pop ecx
pop ecx
push dword [0x4775e4]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
cmp ecx, eax
sbb eax, eax
inc eax
jmp 0x436505
xor eax, eax
test eax, eax
jne 0x436239
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x45aaa4
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436652
mov eax, dword [0x4775e4]
test eax, eax
je 0x436544
push dword [ebp - 0x74]
push eax
call fcn.00448020
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
jmp 0x436546
xor eax, eax
test eax, eax
jmp 0x43664c
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x45a05c
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436586
mov eax, dword [0x4775e4]
cmp byte [eax], 0
je 0x436652
mov eax, dword [ebp - 0x74]
cmp byte [eax], 0
je 0x436652
push eax
call ebx
jmp 0x436338
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x45f67c
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [0x4775e4]
pop ecx
je 0x436645
cmp byte [eax], 0
je 0x436652
mov ecx, dword [ebp - 0x74]
cmp byte [ecx], 0
je 0x436652
push eax
call ebx
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
jns 0x4365d7
xor ecx, ecx
jmp 0x4365ef
push dword [0x4775e4]
call ebx
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov dword [ebp - 0x78], ecx
mov eax, dword [0x4775e4]
add ecx, eax
je 0x43634c
push eax
call ebx
push dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
call ebx
mov ecx, dword [ebp - 0x78]
sub ecx, eax
jns 0x436612
xor ebx, ebx
jmp 0x43662b
push dword [0x4775e4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push dword [ebp - 0x74]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub ebx, eax
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x4775e4]
push dword [ebp - 0x74]
add ebx, eax
push ebx
jmp 0x436342
test eax, eax
je 0x436652
cmp byte [eax], 0
jne 0x436239
xor ebx, ebx
push dword [ebp - 0x74]
jmp 0x435f53
xor ebx, ebx
test ebx, ebx
je 0x436669
mov eax, str.TRUE
jmp 0x43666e
mov eax, str.FALSE
push eax
push str._____IF__check_evaluated_to__s
call fcn.0042036e
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
add esp, 0x10
test eax, eax
je 0x43669d
xor eax, eax
test ebx, ebx
setne al
jmp 0x435e61
test ebx, ebx
je 0x435e5f
mov eax, dword [0x476fe0]
test eax, eax
jge 0x4366b2
xor eax, eax
jmp 0x4366ba
cmp eax, 0xf
jle 0x4366ba
push 0xf
pop eax
mov ecx, dword [ebp + 0x1a8]
inc ecx
mov dword [eax*4 + 0x476fe8], ecx
jmp 0x43563c