Function at 0x6818b7
Capabilities:
Parse credit card information

Disassembly:
jmp 0x681760
mov eax, dword [esp + 4]
sub esp, 0x8c8
push eax
call fcn.0057ab09
add esp, 4
test eax, eax
je 0x681781
or eax, 0xffffffff
add esp, 0x8c8
ret
mov ecx, dword [esp + 0x8d0]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 4], eax
mov al, byte [ecx]
push ebx
push ebp
push esi
test al, al
push edi
je 0x682f5a
mov edx, dword [esp + 0x8dc]
push edx
call fcn.0057ab09
add esp, 4
test eax, eax
jne 0x682f5a
mov ecx, dword [esp + 0x8e0]
mov al, byte [ecx]
cmp al, 0x25
jne 0x682e38
cmp byte [ecx + 1], al
je 0x682e38
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
lea eax, [ecx + 1]
mov dword [esp + 0x8e0], eax
xor ebp, ebp
mov al, byte [eax]
mov dword [esp + 0x18], 0xffffffff
test al, al
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebp
je 0x682f5a
cmp al, 0x2a
jne 0x681823
mov eax, dword [esp + 0x8e0]
mov dword [esp + 0x30], 1
inc eax
mov dword [esp + 0x8e0], eax
mov eax, dword [esp + 0x8e0]
mov cl, byte [eax]
test cl, cl
je 0x682f5a
cmp cl, 0x30
jl 0x68188c
cmp cl, 0x39
jg 0x68188c
mov edi, eax
lea esi, [esp + 0xd8]
xor edx, edx
sub esi, edi
cmp cl, 0x39
jg 0x68185f
mov cl, byte [eax]
inc edx
mov byte [esi + eax], cl
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jge 0x68184b
mov byte [esp + edx + 0xd8], 0
add edi, edx
lea edx, [esp + 0xd8]
mov dword [esp + 0x8e0], edi
push edx
call fcn.0057c1e3
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x682f5a
mov eax, dword [esp + 0x8e0]
mov al, byte [eax]
test al, al
je 0x682f5a
movsx eax, al
add eax, 0xffffffb8
cmp eax, 0x24
ja case.0x6818b0.75
xor ecx, ecx
mov cl, byte [eax + 0x682fa0]
jmp dword [ecx*4 + 0x682f90]
mov eax, dword [esp + 0x8e0]
mov dword [esp + 0x54], 1
inc eax
jmp 0x6818fb
mov eax, dword [esp + 0x8e0]
mov ebp, 1
mov dword [esp + 0x20], ebp
inc eax
jmp 0x6818fb
mov eax, dword [esp + 0x8e0]
cmp byte [eax + 1], 0x36
jne case.0x6818b0.75
cmp byte [eax + 2], 0x34
jne case.0x6818b0.75
mov ebx, 1
add eax, 3
mov dword [esp + 0x34], ebx
mov dword [esp + 0x8e0], eax
mov edx, dword [esp + 0x8e0]
mov al, byte [edx]
test al, al
je 0x682f5a
cmp al, 0x5b
jne 0x681d2e
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x682f5a
test ebp, ebp
jne 0x682f5a
test ebx, ebx
jne 0x682f5a
mov esi, edx
xor edi, edi
inc esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x8e0], esi
cmp byte [esi], 0x5e
jne 0x68195c
inc esi
mov dword [esp + 0x34], 1
mov dword [esp + 0x8e0], esi
push 0x400
lea eax, [esp + 0x4dc]
push edi
push eax
call fcn.0057f8f2
mov al, byte [esi]
add esp, 0xc
test al, al
mov byte [esp + 0x10], 0x5b
je 0x681a45
cmp al, 0x5d
je 0x681a3e
mov ecx, dword [0x8fe334]
push ecx
push esi
call fcn.0057d00c
add esp, 8
cmp eax, 1
jne 0x6819ce
mov al, byte [esi + 1]
test al, al
je 0x681a3d
cmp al, 0x5d
je 0x681a3e
mov dl, byte [esi]
mov byte [esp + 0x10], 0x5b
mov byte [esp + edi + 0x4d8], dl
mov byte [esp + edi + 0x4d9], al
add edi, 2
add esi, 2
jmp 0x681a31
mov al, byte [esi]
cmp al, 0x2d
jne 0x681a24
mov bl, byte [esp + 0x10]
cmp bl, 0x5b
je 0x681a24
mov cl, byte [esi + 1]
test cl, cl
je 0x681a24
cmp cl, 0x5d
je 0x681a24
mov eax, dword [esp + 0x10]
and ecx, 0xff
and eax, 0xff
cmp eax, ecx
jle 0x681a06
mov edx, ecx
mov ecx, eax
mov eax, edx
cmp eax, ecx
jg 0x681a1a
movsx edx, bl
cmp edx, eax
je 0x681a15
mov byte [esp + edi + 0x4d8], al
inc edi
inc eax
cmp eax, ecx
jle 0x681a09
add esi, 2
mov byte [esp + 0x10], 0x5b
jmp 0x681a31
mov byte [esp + edi + 0x4d8], al
inc edi
mov byte [esp + 0x10], al
inc esi
mov al, byte [esi]
test al, al
jne 0x681981
jmp 0x681a3e
inc esi
mov dword [esp + 0x8e0], esi
cmp byte [esi], 0
je 0x682f5a
mov ecx, dword [esp + 0x8e0]
mov eax, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x1c], 0
test eax, eax
mov dword [esp + 0x8e0], ecx
jne 0x681a85
mov eax, dword [esp + 0x8e4]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x8dc]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x8dc]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
push ebp
push 1
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.0057ed5d
push ebp
mov esi, eax
call fcn.0057f276
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x681af3
push 0
call edi
push ebp
call fcn.0057f276
add esp, 4
test eax, eax
je 0x681ae2
test esi, esi
je 0x681cd6
mov edx, dword [0x8fe334]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.0057d00c
add esp, 8
cmp eax, 1
jne 0x681c31
mov cl, byte [esp + 0x10]
push ebp
push eax
lea edx, [esp + 0x18]
push eax
push edx
mov byte [esp + 0x4e], cl
call fcn.0057ed5d
push ebp
mov esi, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x681b4d
push 0
call edi
push ebp
call fcn.0057f276
add esp, 4
test eax, eax
je 0x681b3c
test esi, esi
je 0x681cd6
mov al, byte [esp + 0x4d8]
mov bl, byte [esp + 0x10]
xor edi, edi
test al, al
je 0x681ba3
lea esi, [esp + 0x4d8]
mov eax, dword [0x8fe334]
push eax
push esi
call fcn.0057d00c
add esp, 8
cmp eax, 1
jne 0x681b9c
mov cl, byte [esi]
mov al, byte [esp + 0x3e]
cmp cl, al
jne 0x681b94
cmp byte [esp + edi + 0x4d9], bl
je 0x681ba3
add edi, 2
add esi, 2
jmp 0x681b9e
inc edi
inc esi
cmp byte [esi], 0
jne 0x681b6d
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x681bbd
mov al, byte [esp + edi + 0x4d8]
test al, al
jne 0x681ce0
jmp 0x681bd0
test eax, eax
jne 0x681bd0
mov al, byte [esp + edi + 0x4d8]
test al, al
je 0x681ce0
cmp dword [esp + 0x24], 1
jne 0x681bfb
push 1
push 0xffffffffffffffff
push ebp
call fcn.0057fbfe
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x681cab
mov dl, byte [esp + 0x3e]
mov byte [eax], dl
jmp 0x681ca6
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x681c13
mov cl, byte [esp + 0x3e]
mov byte [eax + 1], bl
mov byte [eax], cl
add eax, 2
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, 2
add edx, eax
sub ecx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
jmp 0x681cbd
mov al, byte [esp + 0x4d8]
xor edi, edi
test al, al
je 0x681c73
lea esi, [esp + 0x4d8]
mov edx, dword [0x8fe334]
push edx
push esi
call fcn.0057d00c
add esp, 8
cmp eax, 1
jne 0x681c62
add edi, 2
add esi, 2
jmp 0x681c6e
mov al, byte [esi]
mov cl, byte [esp + 0x10]
cmp al, cl
je 0x681c73
inc edi
inc esi
cmp byte [esi], 0
jne 0x681c45
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x681c89
mov al, byte [esp + edi + 0x4d8]
test al, al
jne 0x681ced
jmp 0x681c98
test eax, eax
jne 0x681c98
mov al, byte [esp + edi + 0x4d8]
test al, al
je 0x681ced
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x681cab
mov cl, byte [esp + 0x10]
mov byte [eax], cl
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
inc ecx
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x681abe
mov edx, dword [esp + 0x20]
cmp eax, edx
je 0x681ced
jmp 0x681abe
mov dword [esp + 0x14], 1
jmp 0x681ced
push 1
push 0xffffffffffffffff
push ebp
call fcn.0057fbfe
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x681cf8
mov byte [eax], 0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x681d19
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
je 0x681d19
push 1
push 0xffffffffffffffff
push ebp
call fcn.0057fbfe
add esp, 0xc
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x682f3a
inc dword [esp + 0x4c]
jmp 0x682f3a
cmp al, 0x64
je 0x682b44
cmp al, 0x44
je 0x682b44
cmp al, 0x75
je 0x682b44
cmp al, 0x55
je 0x682b44
cmp al, 0x78
je 0x6828d5
cmp al, 0x58
je 0x6828d5
cmp al, 0x6f
je 0x682679
cmp al, 0x4f
je 0x682679
cmp al, 0x69
je 0x6824c9
cmp al, 0x49
je 0x6824c9
cmp al, 0x63
je 0x6823b1
cmp al, 0x43
je 0x6823b1
cmp al, 0x73
je 0x6821e1
cmp al, 0x53
je 0x6821e1
cmp al, 0x66
je 0x681db2
cmp al, 0x46
je 0x681db2
cmp al, 0x67
je 0x681db2
cmp al, 0x47
jne 0x681d19
mov edx, dword [esp + 0x8dc]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov eax, dword [esp + 0x8e0]
mov esi, dword [esp + 0x8dc]
inc eax
mov ebp, 1
mov dword [esp + 0x8e0], eax
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
push esi
push ebp
lea eax, [esp + 0x18]
push ebp
push eax
call fcn.0057ed5d
push esi
mov edi, eax
call fcn.0057f276
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x681e34
push 0
call ebx
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x681e23
test edi, edi
je 0x682f4c
mov al, byte [esp + 0x10]
cmp al, 0x2d
jne 0x681ea4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
cmp eax, 0xffffffff
je 0x681e69
dec eax
mov dword [esp + 0x18], eax
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.0057ed5d
push esi
mov edi, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x681e98
push 0
call ebx
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x681e87
test edi, edi
je 0x682f52
mov al, byte [esp + 0x10]
mov ebx, dword [esp + 0x8dc]
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
jmp 0x681ebd
mov al, byte [esp + 0x10]
cmp al, 0x2e
jne 0x681eda
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x681fe2
mov dword [esp + 0x40], 1
jmp 0x681f84
cmp al, 0x65
je 0x681f74
cmp al, 0x45
je 0x681f74
cmp al, 0x2d
je 0x681f56
cmp al, 0x2b
je 0x681f56
cmp al, 0x30
jl 0x681fe2
cmp al, 0x39
jg 0x681fe2
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x681f1f
cmp ebp, 0x7f
jge 0x681fe2
sub al, 0x30
mov byte [esp + ebp + 0x458], al
inc ebp
jmp 0x681f84
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x681f44
mov ecx, dword [esp + 0x24]
cmp ecx, 0x7f
jge 0x681fe2
sub al, 0x30
mov byte [esp + ecx + 0x3d8], al
inc ecx
mov dword [esp + 0x24], ecx
jmp 0x681f84
cmp edi, 0x7f
jge 0x681fe2
sub al, 0x30
mov byte [esp + edi + 0x58], al
inc edi
jmp 0x681f84
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x681fe2
test ebp, ebp
jne 0x681fe2
cmp al, 0x2d
jne 0x681f84
mov dword [esp + 0x50], 1
jmp 0x681f84
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x681fe2
mov dword [esp + 0x34], 1
push ebx
push 1
lea edx, [esp + 0x18]
push 1
push edx
call fcn.0057ed5d
push ebx
mov esi, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x681fb7
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
call fcn.0057f276
add esp, 4
test eax, eax
je 0x681fa2
test esi, esi
je 0x681fd4
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x681eb9
dec eax
mov dword [esp + 0x18], eax
je 0x681fe2
jmp 0x681eb9
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 1
jmp 0x681ffb
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
test eax, eax
jne 0x681ffb
push 1
push 0xffffffffffffffff
push ebx
call fcn.0057fbfe
add esp, 0xc
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x68200b
test edx, edx
je 0x682f5a
test edi, edi
jne 0x682017
test edx, edx
je 0x682f5a
fld qword [0x8898a8]
fld qword [0x889898]
dec edi
fst qword [esp + 0x34]
js 0x6820a7
mov al, byte [esp + edi + 0x58]
test al, al
je 0x682041
movsx eax, al
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul st(2)
faddp st(1)
fxch st(1)
fmul qword [0x889888]
fxch st(1)
dec edi
jns 0x68202a
fstp qword [esp + 0x34]
mov esi, dword [esp + 0x1c]
test esi, esi
fstp st(0)
je 0x682066
fld qword [esp + 0x34]
fchs
fstp qword [esp + 0x34]
fld qword [0x889878]
fld qword [0x889898]
xor eax, eax
fst qword [esp + 0x40]
test edx, edx
jle 0x6820ab
mov cl, byte [esp + eax + 0x3d8]
test cl, cl
je 0x682096
movsx ecx, cl
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
fmul st(2)
faddp st(1)
inc eax
fxch st(1)
fmul qword [0x889878]
fxch st(1)
cmp eax, edx
jl 0x68207c
jmp 0x6820af
fstp st(0)
jmp 0x682052
fstp st(0)
jmp 0x6820b3
fstp qword [esp + 0x40]
test esi, esi
fstp st(0)
je 0x6820c3
fld qword [esp + 0x40]
fchs
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x20]
xor esi, esi
xor ebx, ebx
mov ebp, 1
lea edi, [edx - 1]
mov dword [esp + 0x28], esi
cmp edi, esi
jl 0x68210d
movsx eax, byte [esp + edi + 0x458]
cdq
push ebx
push ebp
push edx
push eax
call fcn.0057f267
mov ecx, dword [esp + 0x28]
push 0
add ecx, eax
push 0xa
push ebx
push ebp
adc esi, edx
mov dword [esp + 0x38], ecx
dec edi
call fcn.0057f267
test edi, edi
mov ebp, eax
mov ebx, edx
jge 0x6820db
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x682124
neg ecx
adc esi, 0
mov dword [esp + 0x28], ecx
neg esi
fld qword [0x8898a8]
mov eax, ecx
or eax, esi
je 0x682184
test esi, esi
jg 0x682164
jl 0x68213a
test ecx, ecx
jae 0x682164
neg ecx
adc esi, 0
mov edi, 0
neg esi
js 0x682184
jg 0x68214e
test ecx, ecx
jbe 0x682184
fmul qword [0x889878]
inc edi
mov eax, edi
cdq
cmp edx, esi
jl 0x68214e
jg 0x682184
cmp eax, ecx
jb 0x68214e
jmp 0x682184
xor edi, edi
test esi, esi
jl 0x682184
jg 0x682170
test ecx, ecx
jbe 0x682184
fmul qword [0x889888]
inc edi
mov eax, edi
cdq
cmp edx, esi
jl 0x682170
jg 0x682184
cmp eax, ecx
jb 0x682170
fld qword [esp + 0x40]
fadd qword [esp + 0x34]
mov eax, dword [esp + 0x30]
test eax, eax
fmulp st(1)
jne 0x682f38
mov eax, dword [esp + 0x54]
test eax, eax
mov eax, dword [esp + 0x8e4]
je 0x6821c5
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
fstp qword [ecx]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
fstp dword [edx]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov edi, dword [esp + 0x8e0]
mov ecx, dword [esp + 0x8dc]
lea eax, [esp + 0x14]
inc edi
push eax
push ecx
mov dword [esp + 0x8e8], edi
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x48], edi
jne 0x68225c
mov edx, dword [esp + 0x8e0]
mov al, byte [edx - 1]
cmp al, 0x73
mov eax, dword [esp + 0x8e4]
jne 0x68224c
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x1c], eax
jmp 0x68225c
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov dword [esp + 0x48], ecx
mov esi, dword [esp + 0x8dc]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea edx, [esp + 0x18]
push 1
push edx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682298
push 0
call ebp
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682287
test ebx, ebx
je 0x68236b
mov eax, dword [0x8fe334]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.0057d00c
add esp, 8
test eax, eax
mov al, byte [esp + 0x10]
jne 0x6822d3
cmp al, 0x20
je 0x68235c
cmp al, 0xa
je 0x68235c
cmp al, 0xd
je 0x68235c
mov byte [esp + edi + 0x1d8], al
mov eax, dword [esp + 0x18]
inc edi
cmp eax, 0xffffffff
je 0x6822ec
cmp edi, eax
jge 0x682373
mov edx, dword [0x8fe334]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.0057d00c
add esp, 8
cmp eax, 1
jne 0x682269
push esi
push eax
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682336
push 0
call ebp
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682325
test ebx, ebx
je 0x68236b
mov dl, byte [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [esp + edi + 0x1d8], dl
inc edi
cmp eax, 0xffffffff
je 0x682269
cmp edi, eax
jge 0x682373
jmp 0x682269
push 1
push 0xffffffffffffffff
push esi
call fcn.0057fbfe
add esp, 0xc
jmp 0x682373
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x1c]
mov byte [esp + edi + 0x1d8], 0
test eax, eax
je 0x682398
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x1d8]
push eax
push ecx
call fcn.0057a820
add esp, 8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x681d19
mov edx, eax
push 0x400
push edx
jmp 0x6824ab
mov ecx, dword [esp + 0x8e0]
inc ecx
mov dword [esp + 0x8e0], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
jne 0x6823d2
mov ecx, 1
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x1c], edi
jne 0x682418
mov edx, dword [esp + 0x8e0]
mov al, byte [edx - 1]
cmp al, 0x63
mov eax, dword [esp + 0x8e4]
jne 0x682408
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x1c], eax
jmp 0x682418
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov dword [esp + 0x48], edx
cmp ecx, edi
jle 0x68247a
mov esi, dword [esp + 0x8dc]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0057ed5d
push esi
mov ebp, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682458
push 0
call ebx
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682447
test ebp, ebp
je 0x682472
mov cl, byte [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [esp + edi + 0x1d8], cl
inc edi
cmp edi, eax
jl 0x682429
jmp 0x68247a
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x1c]
mov byte [esp + edi + 0x1d8], 0
test eax, eax
je 0x682499
lea edx, [esp + 0x1d8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x681d19
push 0x400
push eax
mov ecx, dword [0x8fe338]
lea eax, [esp + 0x1e0]
push 0xffffffffffffffff
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x681d19
mov eax, dword [esp + 0x8dc]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov esi, dword [esp + 0x8e0]
lea ecx, [esp + 0x10]
inc esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x8e0], esi
mov esi, dword [esp + 0x8dc]
push esi
push 1
push 1
push ecx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x68253e
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x68252d
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
cmp al, 0x2d
jne 0x6825b4
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1c], 1
cmp ebp, 0xffffffff
je 0x682577
dec ebp
mov dword [esp + 0x18], ebp
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea edx, [esp + 0x18]
push 1
push edx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x6825a6
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682595
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
jmp 0x6825b8
mov ebp, dword [esp + 0x18]
cmp al, 0x30
jne 0x682c46
cmp ebp, 0xffffffff
je 0x6825dd
dec ebp
mov dword [esp + 0x18], ebp
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x68260c
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x6825fb
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
cmp al, 0x78
jne 0x682761
cmp ebp, 0xffffffff
je 0x68263d
dec ebp
mov dword [esp + 0x18], ebp
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x68266c
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x68265b
test ebx, ebx
je 0x682f52
jmp 0x6829b9
mov eax, dword [esp + 0x8dc]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov ebx, dword [esp + 0x8e0]
mov ebp, 1
push esi
push ebp
lea ecx, [esp + 0x18]
inc ebx
push ebp
push ecx
mov dword [esp + 0x8f0], ebx
mov dword [esp + 0x2c], 0
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x6826f1
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x6826e0
test ebx, ebx
je 0x682f4c
mov al, byte [esp + 0x10]
cmp al, 0x2d
jne 0x682761
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
cmp eax, 0xffffffff
je 0x682726
dec eax
mov dword [esp + 0x18], eax
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea edx, [esp + 0x18]
push 1
push edx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682755
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682744
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
mov edi, dword [esp + 0x8dc]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x682776
mov al, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
je 0x682783
cmp ecx, esi
je 0x6827ce
cmp al, 0x30
jl 0x6827ce
cmp al, 0x37
jg 0x6827ce
sub al, 0x30
push edi
mov byte [esp + esi + 0x5c], al
push 1
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0057ed5d
push edi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x6827c0
push 0
call ebp
push edi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x6827af
test ebx, ebx
je 0x682880
inc esi
cmp esi, 0x7f
jl 0x682772
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x6827e3
push 1
push 0xffffffffffffffff
push edi
call fcn.0057fbfe
add esp, 0xc
test esi, esi
je 0x682f5a
xor ebp, ebp
xor ebx, ebx
dec esi
mov edi, 1
mov dword [esp + 0x2c], ebp
js 0x68282a
movsx eax, byte [esp + esi + 0x58]
cdq
push ebx
push edi
push edx
push eax
call fcn.0057f267
add ebp, eax
mov eax, dword [esp + 0x2c]
push 0
push 8
adc eax, edx
push ebx
push edi
mov dword [esp + 0x3c], eax
dec esi
call fcn.0057f267
test esi, esi
mov edi, eax
mov ebx, edx
jge 0x6827fb
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x682841
mov ecx, dword [esp + 0x2c]
neg ebp
adc ecx, 0
neg ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x682f3a
mov eax, dword [esp + 0x34]
test eax, eax
je 0x68288d
mov eax, dword [esp + 0x8e4]
add eax, 4
mov dword [esp + 0x8e4], eax
mov edx, dword [eax - 4]
mov eax, dword [esp + 0x2c]
mov dword [edx], ebp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov dword [esp + 0x14], 1
jmp 0x6827e3
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x8e4]
je 0x6828b9
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov word [ecx], bp
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [edx], ebp
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov ecx, dword [esp + 0x8dc]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov ebx, dword [esp + 0x8e0]
mov ebp, 1
push esi
push ebp
lea edx, [esp + 0x18]
inc ebx
push ebp
push edx
mov dword [esp + 0x8f0], ebx
mov dword [esp + 0x2c], 0
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x68294d
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x68293c
test ebx, ebx
je 0x682f4c
mov al, byte [esp + 0x10]
cmp al, 0x2d
jne 0x6829bd
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
cmp eax, 0xffffffff
je 0x682982
dec eax
mov dword [esp + 0x18], eax
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x6829b1
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x6829a0
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
mov edi, dword [esp + 0x8dc]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x6829d2
mov al, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
je 0x6829df
cmp ecx, esi
je 0x682a42
cmp al, 0x30
jl 0x6829eb
cmp al, 0x39
jg 0x6829eb
sub al, 0x30
jmp 0x682a01
cmp al, 0x61
jl 0x6829f7
cmp al, 0x66
jg 0x6829f7
sub al, 0x57
jmp 0x682a01
cmp al, 0x41
jl 0x682a42
cmp al, 0x46
jg 0x682a42
sub al, 0x37
push edi
push 1
lea ecx, [esp + 0x18]
push 1
mov byte [esp + esi + 0x64], al
push ecx
inc esi
call fcn.0057ed5d
push edi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682a35
push 0
call ebp
push edi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682a24
test ebx, ebx
je 0x682aee
cmp esi, 0x7f
jl 0x6829ce
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x682a57
push 1
push 0xffffffffffffffff
push edi
call fcn.0057fbfe
add esp, 0xc
test esi, esi
je 0x682f5a
xor ebx, ebx
xor ebp, ebp
xor eax, eax
dec esi
mov edi, 1
mov dword [esp + 0x2c], eax
js 0x682aa4
movsx eax, byte [esp + esi + 0x58]
cdq
push ebx
push edi
push edx
push eax
call fcn.0057f267
add ebp, eax
mov eax, dword [esp + 0x2c]
push 0
push 0x10
adc eax, edx
push ebx
push edi
mov dword [esp + 0x3c], eax
dec esi
call fcn.0057f267
test esi, esi
mov edi, eax
mov ebx, edx
jge 0x682a71
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x682ab3
neg ebp
adc eax, 0
neg eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x682f3a
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x682afb
mov ecx, dword [esp + 0x8e4]
add ecx, 4
mov dword [esp + 0x8e4], ecx
mov edx, dword [ecx - 4]
mov dword [edx], ebp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov dword [esp + 0x14], 1
jmp 0x682a57
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x8e4]
je 0x682b28
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov word [eax], bp
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [ecx], ebp
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov eax, dword [esp + 0x8dc]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
mov eax, dword [esp + 0x8e0]
inc eax
mov dword [esp + 0x8e0], eax
mov al, byte [eax]
cmp al, 0x75
je 0x682b87
cmp al, 0x55
mov dword [esp + 0x24], 0
jne 0x682b8f
mov dword [esp + 0x24], 1
mov esi, dword [esp + 0x8dc]
mov ebp, 1
push esi
push ebp
lea ecx, [esp + 0x18]
push ebp
push ecx
mov dword [esp + 0x2c], 0
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x14
test eax, eax
jne 0x682bd6
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682bc5
test ebx, ebx
je 0x682f4c
mov al, byte [esp + 0x10]
cmp al, 0x2d
jne 0x682c46
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
cmp eax, 0xffffffff
je 0x682c0b
dec eax
mov dword [esp + 0x18], eax
je 0x682f5a
mov esi, dword [esp + 0x8dc]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 1
lea edx, [esp + 0x18]
push 1
push edx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682c3a
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682c29
test ebx, ebx
je 0x682f52
mov al, byte [esp + 0x10]
mov edi, dword [esp + 0x8dc]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x682c5b
mov al, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
je 0x682c68
cmp ecx, esi
je 0x682caf
cmp al, 0x30
jl 0x682caf
cmp al, 0x39
jg 0x682caf
sub al, 0x30
push edi
mov byte [esp + esi + 0x5c], al
push 1
lea eax, [esp + 0x18]
push 1
push eax
call fcn.0057ed5d
push edi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682ca5
push 0
call ebp
push edi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682c94
test ebx, ebx
je 0x682cf9
inc esi
cmp esi, 0x7f
jl 0x682c57
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x682cc4
push 1
push 0xffffffffffffffff
push edi
call fcn.0057fbfe
add esp, 0xc
test esi, esi
je 0x682f5a
xor ebp, ebp
xor edi, edi
xor eax, eax
dec esi
mov ebx, 1
mov dword [esp + 0x2c], eax
js 0x682d31
mov eax, dword [esp + 0x24]
test eax, eax
movsx eax, byte [esp + esi + 0x58]
je 0x682d03
imul eax, ebx
add eax, edi
cdq
mov edi, eax
mov dword [esp + 0x2c], edx
jmp 0x682d19
mov dword [esp + 0x14], 1
jmp 0x682cc4
cdq
push ebp
push ebx
push edx
push eax
call fcn.0057f267
add edi, eax
mov eax, dword [esp + 0x2c]
adc eax, edx
mov dword [esp + 0x2c], eax
push 0
push 0xa
push ebp
push ebx
dec esi
call fcn.0057f267
test esi, esi
mov ebx, eax
mov ebp, edx
jge 0x682cde
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x682d40
neg edi
adc eax, 0
neg eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x682f3a
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x682da2
mov ecx, dword [esp + 0x24]
test ecx, ecx
mov ecx, dword [esp + 0x8e4]
je 0x682d83
add ecx, 4
mov dword [esp + 0x8e4], ecx
mov ecx, dword [ecx - 4]
mov dword [ecx], edi
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x8e4], ecx
mov dword [edx], edi
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x24]
je 0x682df4
test eax, eax
mov eax, dword [esp + 0x8e4]
je 0x682dd7
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov word [eax], di
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov word [ecx], di
mov dword [esp + 0x4c], eax
jmp 0x682f3a
test eax, eax
mov eax, dword [esp + 0x8e4]
je 0x682e1b
mov edx, dword [eax]
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [edx], edi
mov dword [esp + 0x4c], eax
jmp 0x682f3a
add eax, 4
mov dword [esp + 0x8e4], eax
mov eax, dword [eax - 4]
mov dword [eax], edi
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x682f3a
cmp al, 0x20
je 0x682ef9
cmp al, 0xa
je 0x682ef9
cmp al, 0xd
je 0x682ef9
xor edx, edx
test al, al
je 0x682e7d
cmp al, 0x20
je 0x682e76
cmp al, 0xa
je 0x682e76
cmp al, 0xd
je 0x682e76
cmp al, 0x25
je 0x682e76
mov byte [esp + edx + 0xd8], al
mov al, byte [ecx + 1]
inc edx
inc ecx
test al, al
jne 0x682e56
mov dword [esp + 0x8e0], ecx
mov edi, edx
xor ebp, ebp
test edi, edi
mov byte [esp + edx + 0xd8], 0
mov dword [esp + 0x50], edi
jle 0x682f3a
mov esi, dword [esp + 0x8dc]
lea ecx, [esp + 0x10]
push esi
push 1
push 1
push ecx
call fcn.0057ed5d
push esi
mov ebx, eax
call fcn.0057f276
add esp, 0x14
test eax, eax
jne 0x682ed5
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call edi
push esi
call fcn.0057f276
add esp, 4
test eax, eax
je 0x682ec0
mov edi, dword [esp + 0x50]
test ebx, ebx
je 0x682eef
mov dl, byte [esp + ebp + 0xd8]
mov al, byte [esp + 0x10]
cmp dl, al
jne 0x682f3a
inc ebp
cmp ebp, edi
jl 0x682e95
jmp 0x682f3a
mov dword [esp + 0x14], 1
jmp 0x682f3a
test al, al
je 0x682f18
cmp al, 0x20
je 0x682f09
cmp al, 0xa
je 0x682f09
cmp al, 0xd
jne 0x682f11
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x682efd
mov dword [esp + 0x8e0], ecx
mov ecx, dword [esp + 0x8dc]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.006835f0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 1
je 0x682f5a
jmp 0x682f3a
fstp st(0)
mov edx, dword [esp + 0x8e0]
cmp byte [edx], 0
jne 0x6817a0
jmp 0x682f5a
mov dword [esp + 0x14], ebp
jmp 0x682f5a
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x8dc]
push eax
call fcn.0057ab09
add esp, 4
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
je 0x682f84
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x682f84
or eax, 0xffffffff
add esp, 0x8c8
ret
mov eax, dword [esp + 0x3c]
add esp, 0x8c8
ret