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

Disassembly:
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x4755d0]
xor eax, ebp
mov dword [ebp + 0x1a0], eax
push ebx
mov ebx, dword [ebp + 0x1ac]
push esi
push edi
mov edi, dword [ebp + 0x1b0]
xor eax, eax
mov esi, 0x103
push esi
push eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov byte [ebp + 0x9c], al
lea eax, [ebp + 0x9d]
push eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], edi
call fcn.00448090
push esi
lea eax, [ebp - 0x67]
push 0
push eax
mov byte [ebp - 0x68], 0
call fcn.00448090
imul edi, edi, 0xf54
lea esi, [ebx*4 + 0x478a70]
mov eax, dword [esi]
mov byte [edi + eax + 0xf24], 2
mov eax, dword [esi]
add esp, 0x18
add eax, edi
je 0x436ecd
push 3
push 0x45d3d4
push eax
call fcn.0044802d
add esp, 0xc
jmp 0x436ed0
xor eax, eax
inc eax
test eax, eax
jne 0x436fe8
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.ELSE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x436fe8
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 0x436fe8
inc dword [0x47be6c]
cmp dword [0x47be6c], 0x10
jl 0x436f32
push str.____WARNING:_Too_many_embedded_IF_statements
call fcn.00421b06
pop ecx
mov dword [0x47be6c], 0xf
mov eax, dword [esi]
add eax, edi
push str.IF_Expression
xor ebx, ebx
push eax
mov dword [ebp - 0x70], ebx
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43716d
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
cmp byte [0x47b0e0], bl
je 0x436fc9
push dword [0x47c474]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x436f8e
push dword [0x47c474]
call ebx
inc eax
push eax
push dword [0x47c474]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x4616bc
push eax
call fcn.00447af0
lea eax, [ebp + 0x9c]
push eax
push str.____Expression:___s_
call fcn.00421b06
add esp, 0x14
mov eax, dword [0x47c474]
test eax, eax
je 0x4370f2
push 0x460ecc
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x4370f4
mov eax, dword [esi]
add eax, edi
je 0x437000
push 3
push 0x45d3d4
push eax
call fcn.0044802d
add esp, 0xc
jmp 0x437003
xor eax, eax
inc eax
test eax, eax
jne 0x43706a
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.ELSE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43706a
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 0x43706a
mov eax, dword [0x47be6c]
cmp dword [eax*4 + 0x47be70], 0
je 0x436f32
mov eax, dword [esi]
push 1
push dword [ebp - 0x74]
mov byte [edi + eax + 0xf24], 0
push ebx
call fcn.00433980
mov dword [0x47540c], eax
xor eax, eax
inc eax
jmp 0x43784a
mov eax, dword [esi]
push str.ELSE
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x437093
mov eax, dword [0x47be6c]
cmp dword [eax*4 + 0x47be70], 0
jne 0x437048
mov eax, dword [ebp - 0x74]
inc eax
jmp 0x43705d
mov eax, dword [esi]
push str.END_IF
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x436f32
mov eax, dword [0x47be6c]
mov eax, dword [eax*4 + 0x47be70]
test eax, eax
jne 0x4370c7
push str.____Closing_IF_block_which_evaluated_to_false
call fcn.00421b06
jmp 0x4370d3
push eax
push str.____Closing_IF_block_which_evaluated_to_TRUE_at__Step__d_
call fcn.00421b06
pop ecx
mov eax, dword [0x47be6c]
and dword [eax*4 + 0x47be70], 0
dec dword [0x47be6c]
pop ecx
jns 0x43708d
and dword [0x47be6c], 0
jmp 0x43708d
xor eax, eax
test eax, eax
jne 0x437116
mov eax, dword [0x47c474]
test eax, eax
je 0x437110
push 0x464678
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x437112
xor eax, eax
test eax, eax
je 0x43715d
mov eax, dword [0x47c474]
test eax, eax
je 0x43712e
push 0x460ec8
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x437130
xor eax, eax
test eax, eax
jne 0x437152
mov eax, dword [0x47c474]
test eax, eax
je 0x43714c
push 0x464674
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x43714e
xor eax, eax
test eax, eax
je 0x43715d
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.00421b06
pop ecx
push dword [0x47c474]
call fcn.004210f2
jmp 0x4375f8
add eax, edi
push str.IF_Text
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437a96
mov eax, dword [esi]
add eax, edi
push str.IF_String
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437a96
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 0x4371df
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
push dword [0x47c474]
push ebx
push ebx
push ebx
push 1
call fcn.00442f38
add esp, 0x14
jmp 0x4375f8
add eax, edi
push str.Process
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43723c
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
push 2
push ebx
push ebx
push ebx
push 1
push dword [0x47c474]
call fcn.0044489e
mov ebx, eax
test ebx, ebx
jne 0x4373af
push 1
push eax
push eax
push eax
push 1
push dword [0x47c474]
call fcn.0044489e
mov ebx, eax
jmp 0x4373af
add eax, edi
push str.Variable
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x4374b7
push 0x45c85c
push dword [edi + eax + 0x50]
call fcn.004415b1
cmp eax, 2
jne 0x437271
mov dword [ebp - 0x6c], 3
jmp 0x4372a9
mov eax, dword [esi]
push 0x460074
push dword [edi + eax + 0x50]
call fcn.004415b1
cmp eax, 1
jne 0x4372a2
mov eax, dword [esi]
push 0x4645bc
push dword [edi + eax + 0x50]
call fcn.004415b1
mov dword [ebp - 0x6c], 2
cmp eax, 1
je 0x4372a9
mov dword [ebp - 0x6c], 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 0x4373d8
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 0x4373d8
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 0x437356
cmp dword [ebp - 0x6c], 1
jne 0x437337
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x437308
inc eax
push eax
lea eax, [ebp + 0x9c]
push str.SOFTWARE_vTaskUserVariables_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x9c]
push eax
xor eax, eax
push eax
push eax
push eax
push 1
call fcn.00442f38
add esp, 0x20
test eax, eax
je 0x4373af
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
mov eax, dword [0x47c474]
cmp byte [eax], bl
jmp 0x437451
lea eax, [edi + eax + 0x58]
push str.Numeric
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4373af
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
mov eax, dword [0x47c474]
cmp byte [eax], bl
je 0x4373af
push str.0123456789.___r_n_t_
push eax
call fcn.00449d20
pop ecx
pop ecx
push dword [0x47c474]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jae 0x4374af
mov ebx, dword [ebp - 0x70]
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x464594
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x438011
test ebx, ebx
jne 0x43800f
inc ebx
jmp 0x438015
cmp dword [ebp - 0x6c], 1
jne 0x43741a
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x4373ea
inc eax
push eax
lea eax, [ebp + 0x9c]
push str.SOFTWARE_vTaskUserVariables_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x9c]
push eax
xor eax, eax
push eax
push eax
push eax
push 1
call fcn.00442f38
add esp, 0x20
test eax, eax
jmp 0x4374a9
cmp dword [ebp - 0x6c], 2
jne 0x437459
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
mov eax, dword [0x47c474]
cmp byte [eax], bl
je 0x4373af
push 0x460074
push eax
call fcn.00447a30
pop ecx
pop ecx
test eax, eax
jne 0x4373af
jmp 0x4374af
cmp dword [ebp - 0x6c], 3
jne 0x4373af
mov eax, dword [esi]
push dword [edi + eax + 0x50]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push 0
push 0x45c970
push 0x45c85c
lea eax, [ebp + 0x9c]
push eax
call fcn.0044168f
push 0x103
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp byte [ebp - 0x68], bl
je 0x4373af
xor ebx, ebx
inc ebx
jmp 0x4373af
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 0x437559
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
cmp byte [0x47b0e0], bl
je 0x437549
push dword [0x47c474]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43750e
push dword [0x47c474]
call ebx
inc eax
push eax
push dword [0x47c474]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x4616bc
push eax
call fcn.00447af0
lea eax, [ebp + 0x9c]
push eax
push str.____File:___s_
call fcn.00421b06
add esp, 0x14
push dword [0x47c474]
call fcn.0040d00f
jmp 0x4375f8
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 0x437605
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
cmp byte [0x47b0e0], bl
je 0x4375eb
push dword [0x47c474]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x4375b0
push dword [0x47c474]
call ebx
inc eax
push eax
push dword [0x47c474]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x4616bc
push eax
call fcn.00447af0
lea eax, [ebp + 0x9c]
push eax
push str.____Folder:___s_
call fcn.00421b06
add esp, 0x14
push 0
push dword [0x47c474]
call fcn.0040dde2
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
jmp 0x4373af
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 0x4376c8
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
push ebx
push dword [0x4771a0]
push dword [0x47c474]
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.00420936
push eax
call fcn.00446605
mov dword [ebp - 0x70], eax
cmp byte [0x47b0e0], bl
je 0x4376bb
push dword [0x47c474]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43767d
push dword [0x47c474]
call ebx
inc eax
push eax
push dword [0x47c474]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x4616bc
push eax
call fcn.00447af0
push dword [ebp - 0x70]
lea eax, [ebp + 0x9c]
push eax
push str.____Window:____s_____lu_
call fcn.00421b06
add esp, 0x18
xor ebx, ebx
cmp dword [ebp - 0x70], ebx
setne bl
jmp 0x4373af
add eax, edi
push str.Pixel
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43798b
mov eax, dword [esi]
add eax, edi
push str.Image
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43798b
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 0x437775
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
push ebx
push ebx
push ebx
push dword [0x47c474]
call fcn.004391e1
movzx eax, al
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx eax, ax
mov dword [ebp - 0x70], eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
cmp eax, ebx
je 0x437759
push str.Last
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x43775b
xor eax, eax
cmp eax, ebx
je 0x437769
cmp word [ebp - 0x70], bx
jne 0x4374af
movzx ebx, word [ebp - 0x70]
shr ebx, 0xf
jmp 0x4373af
add eax, edi
push str.IF_Caps_Lock_is_On
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43779b
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ebx, al
and ebx, 1
jmp 0x4373af
mov eax, dword [esi]
add eax, edi
push str.IF_Clipboard
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4373af
push 0
push 0
call fcn.004422aa
mov dword [ebp - 0x70], eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x4377d9
push str.Empty
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x4377db
xor eax, eax
test eax, eax
jne 0x437941
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x4377fc
push str.Any_Text
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x4377fe
xor eax, eax
test eax, eax
jne 0x437941
mov eax, dword [ebp - 0x70]
test eax, eax
jle 0x4373af
lea ecx, [eax + 0x100]
mov eax, 0x1000
cmp ecx, eax
jle 0x437822
mov eax, ecx
push 1
push eax
call fcn.00447e84
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x437864
mov eax, dword [0x478a40]
test eax, eax
je 0x437848
push str.Insufficient_memory_available
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
mov ecx, dword [ebp + 0x1a0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00448080
add ebp, 0x1a4
leave
ret 8
mov ebx, dword [ebp - 0x70]
push ebx
push eax
call fcn.004422aa
lea eax, [ebx + 1]
cmp eax, 0x3f
jle 0x437879
push 0x3f
pop eax
push eax
push dword [ebp - 0x6c]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [esi]
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
mov word [ebp + 0xd9], 0x2e2e
push dword [ebp - 0x78]
mov byte [ebp + 0xd8], 0x2e
mov byte [ebp + 0xdb], 0
push dword [edi + eax + 0x50]
call fcn.0043b804
lea eax, [ebp + 0x9c]
push eax
push str.____Clipboard_Contains:__s
call fcn.00421b06
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
pop ecx
pop ecx
test eax, eax
je 0x4378e2
push str.Partial
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x4378e4
xor eax, eax
test eax, eax
jne 0x43791c
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x437901
push str.Insens
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x437903
xor eax, eax
test eax, eax
jne 0x43791c
push dword [0x47c474]
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x437933
jmp 0x437930
push dword [0x47c474]
push dword [ebp - 0x6c]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x437933
xor ebx, ebx
inc ebx
push dword [ebp - 0x6c]
call fcn.00447ab6
pop ecx
jmp 0x4373af
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
cmp dword [ebp - 0x70], ebx
jne 0x43796a
test eax, eax
je 0x43795f
push str.Is_Empty
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x437961
xor eax, eax
xor ebx, ebx
test eax, eax
jmp 0x4376c0
test eax, eax
je 0x43797d
push str.Is_Empty
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x43797f
xor eax, eax
xor ebx, ebx
test eax, eax
sete bl
jmp 0x4373af
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 0x437a37
push eax
lea eax, [ebp - 0x80]
push eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x364]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004205dc
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x7c]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x80]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebx
lea eax, [ebp + 0x9c]
push eax
push dword [ebp - 0x70]
call fcn.00441d1a
mov eax, dword [esi]
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
push dword [0x47c474]
lea eax, [ebp + 0x9c]
push eax
push str._____s___s
call fcn.00421b06
add esp, 0xc
push dword [0x47c474]
call fcn.00441e9b
cmp dword [ebp - 0x70], eax
jmp 0x437983
push 0
push 0
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.00433b43
test eax, eax
je 0x437a8f
push dword [ebp - 0x7c]
lea eax, [ebp + 0x9c]
push dword [ebp - 0x80]
push str._d___d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x9c]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004245b3
jmp 0x4374af
xor ebx, ebx
jmp 0x4373af
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
lea eax, [edi + eax + 0x364]
push dword [ebp - 0x78]
push eax
call fcn.0043b804
push dword [0x47c474]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 0x100]
mov eax, 0x1000
cmp ecx, eax
jle 0x437ad9
push dword [0x47c474]
call ebx
add eax, 0x100
push 1
push eax
call fcn.00447e84
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x437a8f
mov eax, dword [0x47c474]
test eax, eax
je 0x437bcc
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.0043b804
cmp byte [0x47b0e0], 0
je 0x437bcc
push dword [ebp - 0x6c]
call ebx
inc eax
cmp eax, 0x103
jle 0x437b37
mov eax, 0x103
jmp 0x437b3d
push dword [ebp - 0x6c]
call ebx
inc eax
push eax
push dword [ebp - 0x6c]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push dword [0x47c474]
call ebx
inc eax
cmp eax, 0x103
jle 0x437b65
mov eax, 0x103
jmp 0x437b6e
push dword [0x47c474]
call ebx
inc eax
push eax
push dword [0x47c474]
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x4616bc
push eax
call fcn.00447af0
push 4
lea eax, [ebp + 0x7c]
push 0x4616bc
push eax
call fcn.00447af0
add esp, 0x18
push dword [0x47c474]
call ebx
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x6c]
call ebx
push eax
lea eax, [ebp + 0x9c]
push eax
push str.____Text_Strings:____s___len:_d_______s___len:_d_
call fcn.00421b06
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 0x437bf8
mov eax, dword [0x47c474]
test eax, eax
je 0x437930
cmp byte [eax], 0
jmp 0x437d04
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 0x437d0f
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 0x437d0f
mov eax, dword [0x47c474]
cmp byte [eax], 0
mov eax, dword [ebp - 0x6c]
je 0x437bf0
cmp byte [eax], 0
je 0x438008
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 0x437ca6
mov eax, dword [0x47c474]
test eax, eax
je 0x437c9b
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, dword [ebp - 0x70]
jle 0x437c7f
push dword [ebp - 0x6c]
jmp 0x437c85
push dword [0x47c474]
call ebx
push eax
push dword [ebp - 0x6c]
push dword [0x47c474]
call fcn.00449ba0
add esp, 0xc
jmp 0x437c9e
xor eax, eax
inc eax
test eax, eax
je 0x437930
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 0x438008
mov eax, dword [0x47c474]
test eax, eax
je 0x437cff
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
cmp eax, dword [ebp - 0x70]
jle 0x437cdf
push dword [ebp - 0x6c]
jmp 0x437ce5
push dword [0x47c474]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp - 0x6c]
push dword [0x47c474]
call fcn.0044802d
add esp, 0xc
jmp 0x437d02
xor eax, eax
inc eax
test eax, eax
jne 0x438008
jmp 0x437930
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 0x437de1
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x438008
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 0x437d6e
push dword [0x47c474]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
je 0x437930
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 0x437da6
push dword [0x47c474]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
jl 0x437930
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 0x438008
push dword [0x47c474]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
jle 0x438008
jmp 0x437930
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 0x437f04
mov eax, dword [0x47c474]
cmp byte [eax], 0
je 0x438008
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x438008
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 0x437e4d
mov eax, dword [0x47c474]
test eax, eax
je 0x437e43
push dword [ebp - 0x6c]
push eax
call fcn.00447a30
pop ecx
pop ecx
jmp 0x437e45
xor eax, eax
test eax, eax
jne 0x437930
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 0x437e7c
push dword [ebp - 0x6c]
push dword [0x47c474]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437930
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 0x437ec4
mov eax, dword [0x47c474]
test eax, eax
je 0x437eba
push dword [ebp - 0x6c]
push eax
call fcn.00449d20
pop ecx
pop ecx
push dword [0x47c474]
mov dword [ebp - 0x70], eax
call ebx
cmp dword [ebp - 0x70], eax
sbb eax, eax
inc eax
jmp 0x437ebc
xor eax, eax
test eax, eax
jne 0x437930
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x45cafc
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x438008
mov eax, dword [0x47c474]
test eax, eax
je 0x437efb
push dword [ebp - 0x6c]
push eax
call fcn.00449b60
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
jmp 0x437efd
xor eax, eax
test eax, eax
jmp 0x438002
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x45d398
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x437f3d
mov eax, dword [0x47c474]
cmp byte [eax], 0
je 0x438008
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x438008
push eax
call ebx
jmp 0x437ceb
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x462aa4
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [0x47c474]
pop ecx
je 0x437ffb
cmp byte [eax], 0
je 0x438008
mov ecx, dword [ebp - 0x6c]
cmp byte [ecx], 0
je 0x438008
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
jns 0x437f8e
xor ecx, ecx
jmp 0x437fa6
push dword [0x47c474]
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov dword [ebp - 0x70], ecx
mov eax, dword [0x47c474]
add ecx, eax
je 0x437cff
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
mov ecx, dword [ebp - 0x70]
sub ecx, eax
jns 0x437fc9
xor ebx, ebx
jmp 0x437fe2
push dword [0x47c474]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push dword [ebp - 0x6c]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub ebx, eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add ebx, dword [0x47c474]
push eax
push dword [ebp - 0x6c]
push ebx
jmp 0x437cf5
test eax, eax
je 0x438008
cmp byte [eax], 0
jne 0x437930
xor ebx, ebx
jmp 0x437933
xor ebx, ebx
test ebx, ebx
je 0x43801c
mov eax, str.TRUE
jmp 0x438021
mov eax, str.FALSE
push eax
push str._____IF__check_evaluated_to__s
call fcn.00421b06
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
add esp, 0x10
test eax, eax
je 0x438050
xor eax, eax
test ebx, ebx
setne al
jmp 0x43784a
test ebx, ebx
je 0x437848
mov eax, dword [0x47be6c]
test eax, eax
jns 0x438065
xor eax, eax
jmp 0x43806d
cmp eax, 0xf
jle 0x43806d
push 0xf
pop eax
mov ecx, dword [ebp - 0x74]
inc ecx
mov dword [eax*4 + 0x47be70], ecx
jmp 0x437062