Function at 0x759dc5ca
Capabilities:
Query or enumerate registry value
Validate payment card number using luhn algorithm

Disassembly:
push esi
push esi
push esi
push esi
inc eax
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
jmp 0x759dc56b
mov byte [ebp - 0x15b5], 0
jmp 0x759dc65c
mov byte [ebp - 0x15c1], 0
jmp 0x759dc672
push 0xfffffffffffffffa
jmp 0x759dc7f7
test esi, esi
je 0x759e1b55
jmp 0x759dc749
push 0xfffffffffffffffd
jmp 0x759dc7f7
cmp dword [0x75bcca80], 0
jge 0x759dc487
jmp 0x759dc4cf
mov eax, dword [ebp - 0x15c0]
lea ecx, [ebp - 0x3c]
mov byte [eax], 0
call fcn.759b3c2d
lea ecx, [ebp - 0x20]
call fcn.759b3c2d
call fcn.759b3eb3
cmp eax, 0xffffffff
je 0x759e1f65
cmp eax, 1
je 0x759e1f8a
mov eax, dword [0x75bc8050]
cmp eax, 6
jg 0x759dc487
jne 0x759dc4cf
mov eax, dword [0x75bc8030]
test eax, eax
jle 0x759e1fc5
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x759dc496
mov edi, esi
or edi, 0x80000000
push dword [ebp - 0x15cc]
lea eax, [ebx + 4]
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x15c8], 1
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
push edi
call dword [0x75bc8d90]
mov byte [ebp - 0x15b5], 1
test eax, eax
jne 0x759dc4d6
mov byte [ebp - 0x15b5], 0
test byte [ebp - 0x15c8], 1
je 0x759dc4f1
and dword [ebp - 0x15c8], 0xfffffffe
lea ecx, [ebp - 0x250]
call fcn.759c296f
cmp byte [ebp - 0x15b5], 0
jne 0x759e1fd0
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x759dc50d
or esi, 0x80000000
mov edi, esi
lea ecx, [ebp - 0x3c]
call fcn.759b3e2d
push eax
mov eax, dword [ebp - 0x15cc]
or eax, 0x20019
push eax
xor esi, esi
push esi
add ebx, 4
push ebx
lea ecx, [ebp - 0x250]
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
push edi
call dword [0x75bcc908]
lea ecx, [ebp - 0x250]
mov edi, eax
call fcn.759c296f
cmp edi, esi
jne 0x759dc56b
mov eax, dword [ebp - 0x15d4]
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x15c0]
cmp eax, ecx
jne 0x759dc3e7
mov eax, dword [ebp - 0x15c0]
lea ecx, [ebp - 0x20]
mov byte [eax], 0x5c
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
cmp edi, esi
jne 0x759e2083
lea ecx, [ebp - 0x788]
call fcn.759c296f
lea ecx, [ebp - 0xb94]
call fcn.759b4cb9
xor eax, eax
cmp dword [ebp - 0x15d8], eax
setne al
add eax, 3
jmp 0x759dc810
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x15e4
call fcn.759dc3bc
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x15d8], eax
mov eax, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x15d4], ecx
mov ecx, dword [ebp + 0x30]
mov dword [ebp - 0x15c0], eax
mov dword [ebp - 0x15cc], esi
mov dword [ebp - 0x15e4], edx
mov dword [ebp - 0x15dc], ecx
mov dword [ebp - 0x15c8], edi
cmp eax, edi
je 0x759dc633
cmp esi, edi
je 0x759e1b15
cmp ebx, edi
je 0x759e1b15
cmp ecx, edi
jne 0x759e1b1d
mov al, byte [ebx]
mov byte [ebp - 0x15b6], al
test al, al
je 0x759dc3fd
mov al, byte [ebx + 1]
mov byte [ebp - 0x15b5], al
cmp byte [ebp - 0x15b5], 0
je 0x759dc409
mov al, byte [ebx + 2]
mov byte [ebp - 0x15c1], al
cmp edx, edi
jne 0x759e1b24
push dword [ebp - 0x15d8]
lea eax, [ebp - 0xb88]
mov esi, 0x400
lea ecx, [ebp - 0x788]
mov dword [ebp - 0xb90], esi
mov dword [ebp - 0xb94], eax
call fcn.759dc089
cmp byte [ebp - 0x15b6], 0x3c
je 0x759e20b4
cmp byte [ebp - 0x15b6], 0x3e
je 0x759e20b4
push ebx
mov dword [ebp - 0x15bc], esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
and dword [ebp - 0x15d0], 0
mov edi, eax
mov eax, dword [ebp - 0x15c0]
mov dword [ebp - 0x15e0], eax
lea eax, [edi + 1]
cmp eax, esi
ja 0x759e1b2b
lea eax, [edi + 1]
push eax
push ebx
push dword [ebp - 0xb94]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15cc]
mov esi, dword [ebp - 0x15c0]
add esp, 0xc
test eax, eax
je 0x759dc41c
mov ecx, dword [eax]
mov dword [ebp - 0x15d0], ecx
mov dword [eax], edi
test esi, esi
je 0x759e1b55
cmp ecx, edi
jbe 0x759e1b55
lea eax, [edi + 1]
push eax
push dword [ebp - 0xb94]
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15d0]
add esp, 0xc
mov dword [ebp - 0x15bc], eax
cmp byte [ebp - 0x15b6], 0
je 0x759e1b66
mov al, byte [ebp - 0x15b6]
sub al, 0x30
cmp al, 9
jbe 0x759dc81f
cmp dword [ebp - 0x15e0], 0
je 0x759dc77b
cmp dword [ebp - 0x15d0], edi
jbe 0x759dc429
cmp dword [ebp - 0x15bc], 1
jbe 0x759dc429
cmp byte [ebp - 0x15b6], 0x5c
setne al
dec al
and al, 0x22
add al, 0x3a
test byte [ebp + 0x18], 2
mov byte [esi + 1], al
je 0x759dc7f5
mov edi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
call edi
push esi
lea ecx, [ebp - 0x250]
mov ebx, eax
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
call fcn.759b5427
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x15dc], eax
call fcn.759c296f
mov esi, dword [ebp - 0x15e4]
test esi, esi
jne 0x759e20a0
push ebx
call edi
cmp dword [ebp - 0x15dc], 0xffffffff
je 0x759e20ad
push 3
pop ebx
lea ecx, [ebp - 0x788]
call fcn.759c296f
lea ecx, [ebp - 0xb94]
call fcn.759b4cb9
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret
mov al, byte [ebp - 0x15b5]
sub al, 0x30
cmp al, 9
ja 0x759dc415
cmp byte [ebp - 0x15c1], 0x3a
jne 0x759e1b6d
and dword [ebp - 0x15bc], 0
cmp byte [ebp - 0x15c1], 0x2a
mov ebx, dword [ebp - 0x15c0]
je 0x759e1e13
cmp dword [ebp - 0x15e0], 0
je 0x759dc86b
cmp dword [ebp - 0x15d0], edi
jbe 0x759dc429
cmp edi, 5
jb 0x759dc415
movzx eax, byte [ebp - 0x15b6]
movzx ecx, byte [ebp - 0x15b5]
imul eax, eax, 0xa
and dword [ebp - 0x15d8], 0
and dword [ebp - 0x15cc], 0
lea esi, [eax + ecx - 0x210]
cmp esi, 0x32
jge 0x759e1edb
cmp byte [0x75bcca70], 0
jne 0x759e1ef9
test byte [ebp + 0x18], 2
je 0x759dc59c
add edi, ebx
mov dword [ebp - 0x15d4], edi
dec edi
cmp dword [ebp - 0x15bc], 0
mov dword [ebp - 0x15c0], edi
jne 0x759e1f1f
mov edi, dword [sym.imp.USER32.dll_CharNextA]
push ebx
call edi
mov cl, byte [eax]
test cl, cl
je 0x759dc43e
cmp cl, 0x5c
je 0x759dc8f1
push eax
jmp 0x759dc8dd
mov dword [ebp - 0x15c0], eax
jmp 0x759dc8ee
push 0xfffffffffffffffe
pop eax
jmp 0x759dc810
mov dword [ecx], edi
jmp 0x759dc643
mov dword [edx], edi
jmp 0x759dc67a
push 0
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0xb94]
call fcn.75a5e1a8
test al, al
je 0x759dc415
mov eax, dword [ebp - 0xb90]
mov dword [ebp - 0x15bc], eax
jmp 0x759dc6e9
mov esi, dword [ebp - 0xb94]
mov dword [ebp - 0x15c0], esi
jmp 0x759dc749
push 0xfffffffffffffff9
jmp 0x759dc7f7
cmp byte [ebp - 0x15c1], 0x2a
je 0x759dc83c
test byte [ebp + 0x18], 1
je 0x759e1df9
lea eax, [ebp - 0x568]
mov esi, 0x104
push ebx
mov dword [ebp - 0x570], esi
mov dword [ebp - 0x574], eax
call fcn.75a5c453
pop ecx
lea ecx, [ebp - 0x574]
push ecx
push eax
lea ecx, [ebp - 0x788]
mov dword [ebp - 0x15bc], eax
mov dword [ebp - 0x56c], esi
call fcn.759c2994
mov ecx, dword [ebp - 0x15d4]
push eax
call fcn.75a5e622
test al, al
jne 0x759e1cfb
mov byte [ebp - 0x15b5], al
lea eax, [ebp - 0x354]
mov dword [ebp - 0x360], eax
lea eax, [ebp - 0x15b5]
push eax
lea eax, [ebp - 0x360]
push eax
push 1
push dword [ebp - 0x15bc]
mov dword [ebp - 0x35c], esi
push dword [ebp - 0x15d8]
mov dword [ebp - 0x358], esi
call fcn.75a6921e
add esp, 0x14
test eax, eax
je 0x759e1c39
push 0xfffffffffffffffc
pop ebx
lea ecx, [ebp - 0x360]
call fcn.759b170a
lea ecx, [ebp - 0x574]
call fcn.759b170a
jmp 0x759dc7f8
push dword [ebp - 0x360]
lea ecx, [ebp - 0x250]
call fcn.759dc089
lea ecx, [ebp - 0x250]
call fcn.759c2994
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp dword [ebp - 0x570], eax
jge 0x759e1c73
push 0
push eax
lea ecx, [ebp - 0x574]
call fcn.759b444d
mov eax, dword [ebp - 0x570]
mov esi, dword [ebp - 0x574]
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x15dc], eax
call fcn.759c2994
push eax
push dword [ebp - 0x15dc]
push esi
call fcn.759b3cf5
test eax, eax
jge 0x759e1cb3
lea ecx, [ebp - 0x250]
call fcn.759c296f
push 0xfffffffffffffffa
jmp 0x759e1c1d
cmp byte [ebp - 0x15b5], 0
je 0x759e1ce5
lea ecx, [ebp - 0x250]
call fcn.759c2994
push eax
push dword [ebp - 0x15bc]
lea ecx, [ebp - 0x788]
call fcn.759c2994
mov ecx, dword [ebp - 0x15d4]
push eax
call fcn.75a5e583
lea ecx, [ebp - 0x250]
call fcn.759c296f
lea ecx, [ebp - 0x360]
call fcn.759b170a
push dword [ebp - 0x574]
lea ecx, [ebp - 0xda8]
call fcn.759c29b8
lea ecx, [ebp - 0xda8]
call fcn.759db6da
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x15d4], eax
xor esi, esi
mov al, byte [ebx + esi]
test al, al
je 0x759e1d41
movzx eax, al
push eax
call sub.msvcrt.dll_isdigit
pop ecx
test eax, eax
je 0x759e1d41
inc esi
cmp esi, 0x1a
jl 0x759e1d26
test esi, esi
je 0x759e1e00
cmp esi, 0x1a
je 0x759e1e00
cmp byte [ebx + esi], 0x5c
jne 0x759e1e00
mov eax, dword [ebp - 0x15d4]
mov ecx, dword [ebp - 0x15cc]
sub edi, esi
dec edi
add eax, edi
test ecx, ecx
je 0x759e1d73
mov dword [ecx], eax
cmp dword [ebp - 0x15e0], 0
je 0x759e1d93
cmp dword [ebp - 0x15d0], eax
ja 0x759e1dae
lea ecx, [ebp - 0xda8]
call fcn.759c296f
push 0xfffffffffffffffd
jmp 0x759e1e0d
push 1
inc eax
push eax
lea ecx, [ebp - 0xb94]
call fcn.75a5e1a8
test al, al
je 0x759e1e00
mov ebx, dword [ebp - 0xb94]
jmp 0x759e1db4
mov ebx, dword [ebp - 0x15c0]
inc edi
lea eax, [ebx + esi + 1]
mov esi, dword [ebp - 0x15d4]
push edi
push eax
lea eax, [ebx + esi]
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
push esi
lea ecx, [ebp - 0xda8]
call fcn.759db6da
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0xda8]
call fcn.759c296f
lea ecx, [ebp - 0x574]
call fcn.759b170a
push 4
jmp 0x759dc7f7
lea ecx, [ebp - 0xda8]
call fcn.759c296f
push 0xfffffffffffffffa
pop ebx
jmp 0x759e1c29
lea ecx, [ebx + 3]
mov esi, ecx
jmp 0x759e1e35
cmp al, 0x2a
je 0x759e1e6e
mov edx, dword [ebp - 0x15bc]
imul edx, edx, 0xa
movzx eax, al
lea eax, [edx + eax - 0x30]
mov dword [ebp - 0x15bc], eax
inc esi
mov al, byte [esi]
test al, al
jne 0x759e1e1a
cmp al, 0x2a
je 0x759e1e6e
push 0
push 0
mov eax, 0x759c2dec
push eax
push eax
push eax
push eax
push 0x759de312
push ebx
push dword [ebp - 0x15d8]
push 0x3ea
push 1
push 0x15
call fcn.759de326
add esp, 0x30
jmp 0x759dc415
lea eax, [esi + 1]
mov edx, ebx
sub edx, eax
lea edx, [edx + edi + 1]
push edx
push eax
push ecx
call sub.msvcrt.dll_memmove
mov eax, ebx
sub eax, esi
lea edi, [edi + eax + 2]
mov eax, dword [ebp - 0x15cc]
add esp, 0xc
mov byte [ebx + 2], 0x3a
test eax, eax
je 0x759e1e9c
mov dword [eax], edi
mov esi, dword [ebp - 0x15e0]
test esi, esi
je 0x759dc86b
test eax, eax
je 0x759dc856
cmp esi, ebx
je 0x759dc856
cmp dword [ebp - 0x15d0], edi
jbe 0x759dc856
lea eax, [edi + 1]
push eax
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, esi
jmp 0x759dc856
sub esi, 0x32
mov eax, esi
cdq
push 0xa
pop ecx
idiv ecx
mov dword [ebp - 0x15d8], 1
add al, 0x30
mov byte [ebx], al
jmp 0x759dc8a3
cmp esi, 0x14
jl 0x759e1f10
sub esi, 0x14
mov dword [ebp - 0x15cc], 0x100
jmp 0x759dc8b0
mov dword [ebp - 0x15cc], 0x200
jmp 0x759dc8b0
mov dword [ebp - 0x15c0], ebx
jmp 0x759e1f39
push dword [ebp - 0x15c0]
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x15c0], eax
dec dword [ebp - 0x15bc]
jne 0x759e1f27
mov eax, dword [ebp - 0x15d4]
dec eax
cmp dword [ebp - 0x15c0], eax
ja 0x759dc415
cmp dword [ebp - 0x15c0], ebx
jb 0x759dc415
jmp 0x759dc43e
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
jmp 0x759dc415
test esi, esi
je 0x759e1f96
cmp esi, eax
jne 0x759dc46e
push dword [ebp - 0x15cc]
test esi, esi
sete al
movzx eax, al
push eax
lea ecx, [ebp - 0x20]
call fcn.759b3e2d
push eax
call fcn.759c5b72
mov edi, eax
add esp, 0xc
test edi, edi
je 0x759dc46e
jmp 0x759e207c
je 0x759dc430
jmp 0x759dc4cf
xor esi, esi
cmp dword [0x75bc8ca8], esi
je 0x759e2015
or dword [ebp - 0x15c8], 2
push esi
push esi
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push eax
add ebx, 4
push ebx
lea ecx, [ebp - 0x250]
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
push 0x759fceb0
push esi
push esi
push 0xa
call fcn.759c26bf
add esp, 0x30
test byte [ebp - 0x15c8], 2
je 0x759e2029
lea ecx, [ebp - 0x250]
call fcn.759c296f
mov eax, dword [ebp - 0x15dc]
cmp eax, esi
je 0x759e2039
mov dword [eax], 1
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
lea ecx, [ebp - 0x3c]
call fcn.759b3c00
lea ecx, [ebp - 0x34]
call fcn.759b1681
lea ecx, [ebp - 0x788]
call fcn.759c296f
lea ecx, [ebp - 0xb94]
call fcn.759b4cb9
xor eax, eax
cmp dword [ebp - 0x15d8], esi
jmp 0x759dc5ba
xor esi, esi
jmp 0x759dc56b
lea ecx, [ebp - 0x788]
call fcn.759c296f
lea ecx, [ebp - 0xb94]
call fcn.759b4cb9
push 2
jmp 0x759e1b17
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
jmp 0x759dc7e5
push 2
jmp 0x759dc7f7
lea eax, [ebp - 0x15a8]
mov dword [ebp - 0x15b4], eax
xor eax, eax
cmp byte [ebp - 0x15b6], 0x3c
mov dword [ebp - 0x15b0], esi
setne al
mov dword [ebp - 0x15ac], esi
mov esi, dword [ebp - 0x15cc]
lea ecx, [ebp - 0x250]
inc eax
mov dword [ebp - 0x15d4], eax
mov eax, dword [ebp + 0x18]
or eax, 4
neg esi
mov dword [ebp - 0x15dc], eax
sbb esi, esi
lea eax, [ebp - 0x15e4]
and esi, eax
inc ebx
push ebx
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
mov dword [ebp - 0x15e0], eax
cmp eax, edi
je 0x759e2426
mov ebx, eax
movzx ecx, word [ebx]
mov dword [ebp - 0x15d0], eax
cmp cx, di
je 0x759e214d
movzx ecx, cx
cmp cx, 0x5c
je 0x759e214d
push eax
call dword [sym.imp.USER32.dll_CharNextW]
movzx ecx, word [eax]
mov dword [ebp - 0x15d0], eax
cmp cx, di
jne 0x759e2132
sub eax, ebx
mov ebx, dword [ebp - 0x15d0]
push edi
push 1
sar eax, 1
add ebx, 2
lea ecx, [ebp - 0x15bc]
push ebx
mov dword [ebp - 0x15d8], eax
mov dword [ebp - 0x15bc], edi
call fcn.759c6f3c
cmp dword [ebp - 0x15d4], 1
push eax
jne 0x759e2187
call dword [0x75bc848c]
jmp 0x759e218d
call dword [0x75bc8478]
cmp eax, edi
jge 0x759e21a8
mov eax, dword [ebp - 0x15bc]
cmp eax, edi
je 0x759e21a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xfffffffffffffffa
jmp 0x759e2428
push edi
lea ecx, [ebp - 0x15c8]
mov dword [ebp - 0x15c8], edi
call fcn.759c6f3c
cmp dword [ebp - 0x15d4], 1
push eax
jne 0x759e21cc
call dword [0x75bc8464]
jmp 0x759e21d2
call dword [0x75bc8450]
cmp eax, edi
jl 0x759e240d
mov edx, dword [ebp - 0x15c8]
cmp edx, edi
je 0x759e2191
push 6
xor eax, eax
pop ecx
lea edi, [ebp - 0x1c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0x18
test esi, esi
jne 0x759e2202
test byte [ebp - 0x15dc], 2
je 0x759e2214
mov eax, dword [ebp - 0x15b4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x15b0]
mov dword [ebp - 8], eax
mov eax, dword [edx]
lea ecx, [ebp - 0x1c]
push ecx
push ebx
xor edi, edi
push edi
push edx
call dword [eax + 0x10]
cmp eax, 0x8007007a
jne 0x759e2267
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x15d8]
lea eax, [eax + ecx + 1]
push edi
push eax
lea ecx, [ebp - 0x15b4]
call fcn.759b593b
mov eax, dword [ebp - 0x15b4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x15b0]
lea edx, [ebp - 0x1c]
push edx
push ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x15c8]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x10]
cmp eax, edi
jge 0x759e2294
mov eax, dword [ebp - 0x15c8]
cmp eax, edi
je 0x759e227b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
cmp eax, edi
je 0x759e228b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 2
xor edi, edi
jmp 0x759e2428
mov ecx, dword [ebp - 0xc]
cmp ecx, edi
je 0x759e23a2
mov eax, dword [ebp - 8]
cmp eax, 1
jne 0x759e22cb
mov eax, dword [ebp - 0x15c8]
cmp eax, edi
je 0x759e22b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
cmp eax, edi
je 0x759e22c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xfffffffffffffffa
jmp 0x759e228d
lea ebx, [ecx + eax*2]
lea edi, [ecx + 2]
xor eax, eax
cmp edi, ebx
jae 0x759e22f4
mov edx, edi
movzx edi, word [edx]
test di, di
je 0x759e22f0
cmp di, 0x5c
jne 0x759e22e9
mov eax, edx
lea edi, [edx + 2]
cmp edi, ebx
jb 0x759e22d7
test eax, eax
jne 0x759e230e
mov eax, dword [ebp - 0x15c8]
test eax, eax
je 0x759e2304
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
test eax, eax
jmp 0x759e22bf
mov edi, dword [ebp - 0x15e0]
cmp dword [ebp - 0x15d0], edi
je 0x759e232a
sub eax, ecx
inc eax
inc eax
sar eax, 1
add eax, dword [ebp - 0x15d8]
jmp 0x759e2330
sub edx, ecx
sar edx, 1
mov eax, edx
lea edx, [eax + 1]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x15b0]
jbe 0x759e2358
push 1
push edx
lea ecx, [ebp - 0x15b4]
call fcn.759b593b
mov ecx, dword [ebp - 0x15b4]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x15d0], edi
je 0x759e23a2
mov edx, dword [ebp - 0x15d8]
push edx
push edi
lea edi, [edx + 1]
sub eax, edx
push edi
lea eax, [ecx + eax*2]
push eax
call fcn.759c7b86
test eax, eax
jge 0x759e23a2
mov eax, dword [ebp - 0x15c8]
test eax, eax
je 0x759e238b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
test eax, eax
je 0x759e239b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xfffffffffffffffd
jmp 0x759e228d
test byte [ebp - 0x15dc], 2
je 0x759e23e6
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
call esi
push dword [ebp - 0xc]
mov edi, eax
call fcn.759b5427
push edi
mov ebx, eax
call esi
cmp ebx, 0xffffffff
jne 0x759e23e6
mov eax, dword [ebp - 0x15c8]
test eax, eax
je 0x759e23d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
test eax, eax
jmp 0x759e2283
mov eax, dword [ebp - 0x15c8]
test eax, eax
je 0x759e23f6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x15bc]
test eax, eax
je 0x759e2406
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 3
jmp 0x759e228d
mov eax, dword [ebp - 0x15c8]
cmp eax, edi
je 0x759e2191
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x759e2191
push 0xfffffffffffffffe
pop ebx
lea ecx, [ebp - 0x250]
call fcn.759c296f
cmp ebx, 2
jne 0x759e2451
cmp byte [ebp + 0x20], 0
je 0x759e246b
cmp byte [ebp - 0x15b6], 0x3c
jne 0x759e246b
cmp byte [ebp + 0x24], 0
jne 0x759e246b
push 3
pop ebx
cmp ebx, 3
je 0x759e246b
cmp ebx, 2
je 0x759e246b
lea ecx, [ebp - 0x15b4]
call fcn.759b4cb9
jmp 0x759dc7f8
cmp dword [ebp - 0x15c0], edi
jne 0x759e24c3
cmp dword [ebp - 0x15cc], edi
je 0x759e245b
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
push edi
push eax
push dword [ebp - 0x15c0]
push 0xffffffffffffffff
push dword [ebp - 0x15b4]
push edi
push edi
call esi
cmp eax, edi
jne 0x759e24cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x759e24be
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push dword [ebp - 0x15b4]
push edi
push edi
call esi
push 0xfffffffffffffffd
pop ebx
cmp eax, edi
jne 0x759e24cd
push 0xfffffffffffffffa
pop ebx
jmp 0x759e245b
mov eax, dword [ebp - 0x15cc]
mov eax, dword [eax]
jmp 0x759e247d
mov ecx, dword [ebp - 0x15cc]
dec eax
mov dword [ecx], eax
jmp 0x759e245b