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

Disassembly:
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x47e5d0]
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.00452e00
push esi
lea eax, [ebp - 0x67]
push 0
push eax
mov byte [ebp - 0x68], 0
call fcn.00452e00
imul edi, edi, 0xf54
lea esi, [ebx*4 + 0x481990]
mov eax, dword [esi]
mov byte [edi + eax + 0xf24], 2
mov eax, dword [esi]
add esp, 0x18
add eax, edi
je 0x43e1f6
push 3
push 0x4654b4
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x43e1f9
xor eax, eax
inc eax
test eax, eax
jne 0x43e311
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 0x43e311
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 0x43e311
inc dword [0x484e2c]
cmp dword [0x484e2c], 0x10
jl 0x43e25b
push str.____WARNING:_Too_many_embedded_IF_statements
call fcn.0042604a
pop ecx
mov dword [0x484e2c], 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 0x43e496
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
cmp byte [0x4840a0], bl
je 0x43e2f2
push dword [0x485434]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43e2b7
push dword [0x485434]
call ebx
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x469bc0
push eax
call fcn.00452790
lea eax, [ebp + 0x9c]
push eax
push str.____Expression:___s_
call fcn.0042604a
add esp, 0x14
mov eax, dword [0x485434]
test eax, eax
je 0x43e41b
push 0x46939c
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43e41d
mov eax, dword [esi]
add eax, edi
je 0x43e329
push 3
push 0x4654b4
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x43e32c
xor eax, eax
inc eax
test eax, eax
jne 0x43e393
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 0x43e393
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 0x43e393
mov eax, dword [0x484e2c]
cmp dword [eax*4 + 0x484e30], 0
je 0x43e25b
mov eax, dword [esi]
push 1
push dword [ebp - 0x74]
mov byte [edi + eax + 0xf24], 0
push ebx
call fcn.0043aca6
mov dword [0x47e40c], eax
xor eax, eax
inc eax
jmp 0x43ebdc
mov eax, dword [esi]
push str.ELSE
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x43e3bc
mov eax, dword [0x484e2c]
cmp dword [eax*4 + 0x484e30], 0
jne 0x43e371
mov eax, dword [ebp - 0x74]
inc eax
jmp 0x43e386
mov eax, dword [esi]
push str.END_IF
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x43e25b
mov eax, dword [0x484e2c]
mov eax, dword [eax*4 + 0x484e30]
test eax, eax
jne 0x43e3f0
push str.____Closing_IF_block_which_evaluated_to_false
call fcn.0042604a
jmp 0x43e3fc
push eax
push str.____Closing_IF_block_which_evaluated_to_TRUE_at__Step__d_
call fcn.0042604a
pop ecx
mov eax, dword [0x484e2c]
and dword [eax*4 + 0x484e30], 0
dec dword [0x484e2c]
pop ecx
jns 0x43e3b6
and dword [0x484e2c], 0
jmp 0x43e3b6
xor eax, eax
test eax, eax
jne 0x43e43f
mov eax, dword [0x485434]
test eax, eax
je 0x43e439
push 0x46cf80
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43e43b
xor eax, eax
test eax, eax
je 0x43e486
mov eax, dword [0x485434]
test eax, eax
je 0x43e457
push 0x469398
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43e459
xor eax, eax
test eax, eax
jne 0x43e47b
mov eax, dword [0x485434]
test eax, eax
je 0x43e475
push 0x46cf7c
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43e477
xor eax, eax
test eax, eax
je 0x43e486
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.0042604a
pop ecx
push dword [0x485434]
call fcn.00425636
jmp 0x43eb22
add eax, edi
push str.IF_Text
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43ee28
mov eax, dword [esi]
add eax, edi
push str.IF_String
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43ee28
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 0x43e508
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
push dword [0x485434]
push ebx
push ebx
push ebx
push 1
call fcn.0044ad45
add esp, 0x14
jmp 0x43eb22
add eax, edi
push str.Process
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43e565
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
push 2
push ebx
push ebx
push ebx
push 1
push dword [0x485434]
call fcn.0044c6a8
mov ebx, eax
test ebx, ebx
jne 0x43e6d8
push 1
push eax
push eax
push eax
push 1
push dword [0x485434]
call fcn.0044c6a8
mov ebx, eax
jmp 0x43e6d8
add eax, edi
push str.Variable
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43e7e0
push 0x46493c
push dword [edi + eax + 0x50]
call fcn.00449160
cmp eax, 2
jne 0x43e59a
mov dword [ebp - 0x6c], 3
jmp 0x43e5d2
mov eax, dword [esi]
push 0x46854c
push dword [edi + eax + 0x50]
call fcn.00449160
cmp eax, 1
jne 0x43e5cb
mov eax, dword [esi]
push 0x46cec0
push dword [edi + eax + 0x50]
call fcn.00449160
mov dword [ebp - 0x6c], 2
cmp eax, 1
je 0x43e5d2
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 0x43e701
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 0x43e701
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 0x43e67f
cmp dword [ebp - 0x6c], 1
jne 0x43e660
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x43e631
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.0044ad45
add esp, 0x20
test eax, eax
je 0x43e6d8
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], bl
jmp 0x43e77a
lea eax, [edi + eax + 0x58]
push str.Numeric
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43e6d8
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], bl
je 0x43e6d8
push str.0123456789.___r_n_t_
push eax
call fcn.00454a80
pop ecx
pop ecx
push dword [0x485434]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebx, eax
jae 0x43e7d8
mov ebx, dword [ebp - 0x70]
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x4663ec
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43f3a3
test ebx, ebx
jne 0x43f3a1
inc ebx
jmp 0x43f3a7
cmp dword [ebp - 0x6c], 1
jne 0x43e743
mov eax, dword [esi]
mov eax, dword [edi + eax + 0x50]
cmp byte [eax], 0x25
jne 0x43e713
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.0044ad45
add esp, 0x20
test eax, eax
jmp 0x43e7d2
cmp dword [ebp - 0x6c], 2
jne 0x43e782
mov eax, dword [esi]
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], bl
je 0x43e6d8
push 0x46854c
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x43e6d8
jmp 0x43e7d8
cmp dword [ebp - 0x6c], 3
jne 0x43e6d8
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 0x464a50
push 0x46493c
lea eax, [ebp + 0x9c]
push eax
call fcn.0044923e
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 0x43e6d8
xor ebx, ebx
inc ebx
jmp 0x43e6d8
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 0x43e882
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
cmp byte [0x4840a0], bl
je 0x43e872
push dword [0x485434]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43e837
push dword [0x485434]
call ebx
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x469bc0
push eax
call fcn.00452790
lea eax, [ebp + 0x9c]
push eax
push str.____File:___s_
call fcn.0042604a
add esp, 0x14
push dword [0x485434]
call fcn.00410370
jmp 0x43eb22
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 0x43e926
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
cmp byte [0x4840a0], bl
je 0x43e914
push dword [0x485434]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43e8d9
push dword [0x485434]
call ebx
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x469bc0
push eax
call fcn.00452790
lea eax, [ebp + 0x9c]
push eax
push str.____Folder:___s_
call fcn.0042604a
add esp, 0x14
push 0
push dword [0x485434]
call fcn.00411143
jmp 0x43eb22
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 0x43e9e9
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
push ebx
push dword [0x4800c0]
push dword [0x485434]
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.00424e7a
push eax
call fcn.0044e40c
mov dword [ebp - 0x70], eax
cmp byte [0x4840a0], bl
je 0x43e9dc
push dword [0x485434]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x43e99e
push dword [0x485434]
call ebx
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x469bc0
push eax
call fcn.00452790
push dword [ebp - 0x70]
lea eax, [ebp + 0x9c]
push eax
push str.____Window:____s_____lu_
call fcn.0042604a
add esp, 0x18
xor ebx, ebx
cmp dword [ebp - 0x70], ebx
setne bl
jmp 0x43e6d8
add eax, edi
push str.Pixel
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43ed1d
mov eax, dword [esi]
add eax, edi
push str.Image
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43ed1d
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 0x43ea96
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
push ebx
push ebx
push ebx
push dword [0x485434]
call fcn.0044065c
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 0x43ea7a
push str.Last
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43ea7c
xor eax, eax
cmp eax, ebx
je 0x43ea8a
cmp word [ebp - 0x70], bx
jne 0x43e7d8
movzx ebx, word [ebp - 0x70]
shr ebx, 0xf
jmp 0x43e6d8
add eax, edi
push str.IF_Caps_Lock_is_On
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43eabc
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ebx, al
and ebx, 1
jmp 0x43e6d8
mov eax, dword [esi]
add eax, edi
push str.Internet
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
je 0x43eb2f
push 0
push 0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Link
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43eb17
push str.vTask
xor eax, eax
push eax
push 1
push eax
push eax
push eax
push dword [0x485434]
call fcn.0044e67b
jmp 0x43eb22
push dword [0x485434]
call fcn.0044ec4e
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
jmp 0x43e6d8
add eax, edi
push str.IF_Clipboard
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43e6d8
push 0
push 0
call fcn.00449f71
mov dword [ebp - 0x70], eax
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x43eb6b
push str.Empty
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43eb6d
xor eax, eax
test eax, eax
jne 0x43ecd3
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x43eb8e
push str.Any_Text
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43eb90
xor eax, eax
test eax, eax
jne 0x43ecd3
mov eax, dword [ebp - 0x70]
test eax, eax
jle 0x43e6d8
lea ecx, [eax + 0x100]
mov eax, 0x1000
cmp ecx, eax
jle 0x43ebb4
mov eax, ecx
push 1
push eax
call fcn.00452b24
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x43ebf6
mov eax, dword [0x481960]
test eax, eax
je 0x43ebda
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.00452dee
add ebp, 0x1a4
leave
ret 8
mov ebx, dword [ebp - 0x70]
push ebx
push eax
call fcn.00449f71
lea eax, [ebx + 1]
cmp eax, 0x3f
jle 0x43ec0b
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.00442c90
lea eax, [ebp + 0x9c]
push eax
push str.____Clipboard_Contains:__s
call fcn.0042604a
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
pop ecx
pop ecx
test eax, eax
je 0x43ec74
push str.Partial
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43ec76
xor eax, eax
test eax, eax
jne 0x43ecae
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
test eax, eax
je 0x43ec93
push str.Insens
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43ec95
xor eax, eax
test eax, eax
jne 0x43ecae
push dword [0x485434]
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x43ecc5
jmp 0x43ecc2
push dword [0x485434]
push dword [ebp - 0x6c]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43ecc5
xor ebx, ebx
inc ebx
push dword [ebp - 0x6c]
call fcn.00452756
pop ecx
jmp 0x43e6d8
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
cmp dword [ebp - 0x70], ebx
jne 0x43ecfc
test eax, eax
je 0x43ecf1
push str.Is_Empty
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43ecf3
xor eax, eax
xor ebx, ebx
test eax, eax
jmp 0x43e9e1
test eax, eax
je 0x43ed0f
push str.Is_Empty
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43ed11
xor eax, eax
xor ebx, ebx
test eax, eax
sete bl
jmp 0x43e6d8
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 0x43edc9
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.00424b20
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.004498c9
mov eax, dword [esi]
push ebx
push ebx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [edi + eax + 0x50]
call fcn.00442c90
push dword [0x485434]
lea eax, [ebp + 0x9c]
push eax
push str._____s___s
call fcn.0042604a
add esp, 0xc
push dword [0x485434]
call fcn.00449a4a
cmp dword [ebp - 0x70], eax
jmp 0x43ed15
push 0
push 0
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0043ae69
test eax, eax
je 0x43ee21
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.00428e6d
jmp 0x43e7d8
xor ebx, ebx
jmp 0x43e6d8
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.00442c90
push dword [0x485434]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [eax + 0x100]
mov eax, 0x1000
cmp ecx, eax
jle 0x43ee6b
push dword [0x485434]
call ebx
add eax, 0x100
push 1
push eax
call fcn.00452b24
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x43ee21
mov eax, dword [0x485434]
test eax, eax
je 0x43ef5e
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.00442c90
cmp byte [0x4840a0], 0
je 0x43ef5e
push dword [ebp - 0x6c]
call ebx
inc eax
cmp eax, 0x103
jle 0x43eec9
mov eax, 0x103
jmp 0x43eecf
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 [0x485434]
call ebx
inc eax
cmp eax, 0x103
jle 0x43eef7
mov eax, 0x103
jmp 0x43ef00
push dword [0x485434]
call ebx
inc eax
push eax
push dword [0x485434]
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x180]
push 0x469bc0
push eax
call fcn.00452790
push 4
lea eax, [ebp + 0x7c]
push 0x469bc0
push eax
call fcn.00452790
add esp, 0x18
push dword [0x485434]
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.0042604a
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 0x43ef8a
mov eax, dword [0x485434]
test eax, eax
je 0x43ecc2
cmp byte [eax], 0
jmp 0x43f096
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 0x43f0a1
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 0x43f0a1
mov eax, dword [0x485434]
cmp byte [eax], 0
mov eax, dword [ebp - 0x6c]
je 0x43ef82
cmp byte [eax], 0
je 0x43f39a
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 0x43f038
mov eax, dword [0x485434]
test eax, eax
je 0x43f02d
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 0x43f011
push dword [ebp - 0x6c]
jmp 0x43f017
push dword [0x485434]
call ebx
push eax
push dword [ebp - 0x6c]
push dword [0x485434]
call fcn.004549c0
add esp, 0xc
jmp 0x43f030
xor eax, eax
inc eax
test eax, eax
je 0x43ecc2
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 0x43f39a
mov eax, dword [0x485434]
test eax, eax
je 0x43f091
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
cmp eax, dword [ebp - 0x70]
jle 0x43f071
push dword [ebp - 0x6c]
jmp 0x43f077
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp - 0x6c]
push dword [0x485434]
call fcn.00452ccd
add esp, 0xc
jmp 0x43f094
xor eax, eax
inc eax
test eax, eax
jne 0x43f39a
jmp 0x43ecc2
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 0x43f173
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x43f39a
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 0x43f100
push dword [0x485434]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
je 0x43ecc2
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 0x43f138
push dword [0x485434]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
jl 0x43ecc2
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 0x43f39a
push dword [0x485434]
call ebx
push dword [ebp - 0x6c]
mov ebx, eax
call fcn.0040109c
pop ecx
cmp ebx, eax
jle 0x43f39a
jmp 0x43ecc2
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 0x43f296
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x43f39a
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x43f39a
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 0x43f1df
mov eax, dword [0x485434]
test eax, eax
je 0x43f1d5
push dword [ebp - 0x6c]
push eax
call fcn.004526d0
pop ecx
pop ecx
jmp 0x43f1d7
xor eax, eax
test eax, eax
jne 0x43ecc2
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 0x43f20e
push dword [ebp - 0x6c]
push dword [0x485434]
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x43ecc2
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 0x43f256
mov eax, dword [0x485434]
test eax, eax
je 0x43f24c
push dword [ebp - 0x6c]
push eax
call fcn.00454a80
pop ecx
pop ecx
push dword [0x485434]
mov dword [ebp - 0x70], eax
call ebx
cmp dword [ebp - 0x70], eax
sbb eax, eax
inc eax
jmp 0x43f24e
xor eax, eax
test eax, eax
jne 0x43ecc2
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x464bdc
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43f39a
mov eax, dword [0x485434]
test eax, eax
je 0x43f28d
push dword [ebp - 0x6c]
push eax
call fcn.00454980
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
jmp 0x43f28f
xor eax, eax
test eax, eax
jmp 0x43f394
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x465478
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43f2cf
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x43f39a
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
je 0x43f39a
push eax
call ebx
jmp 0x43f07d
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push 0x46b414
push eax
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [0x485434]
pop ecx
je 0x43f38d
cmp byte [eax], 0
je 0x43f39a
mov ecx, dword [ebp - 0x6c]
cmp byte [ecx], 0
je 0x43f39a
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 0x43f320
xor ecx, ecx
jmp 0x43f338
push dword [0x485434]
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 [0x485434]
add ecx, eax
je 0x43f091
push eax
call ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
call ebx
mov ecx, dword [ebp - 0x70]
sub ecx, eax
jns 0x43f35b
xor ebx, ebx
jmp 0x43f374
push dword [0x485434]
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 [0x485434]
push eax
push dword [ebp - 0x6c]
push ebx
jmp 0x43f087
test eax, eax
je 0x43f39a
cmp byte [eax], 0
jne 0x43ecc2
xor ebx, ebx
jmp 0x43ecc5
xor ebx, ebx
test ebx, ebx
je 0x43f3ae
mov eax, str.TRUE
jmp 0x43f3b3
mov eax, str.FALSE
push eax
push str._____IF__check_evaluated_to__s
call fcn.0042604a
mov eax, dword [esi]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
add esp, 0x10
test eax, eax
je 0x43f3e2
xor eax, eax
test ebx, ebx
setne al
jmp 0x43ebdc
test ebx, ebx
je 0x43ebda
mov eax, dword [0x484e2c]
test eax, eax
jns 0x43f3f7
xor eax, eax
jmp 0x43f3ff
cmp eax, 0xf
jle 0x43f3ff
push 0xf
pop eax
mov ecx, dword [ebp - 0x74]
inc ecx
mov dword [eax*4 + 0x484e30], ecx
jmp 0x43e38b