Function at 0x4085f0
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x45c
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov eax, dword [ebp + 0xf8]
shl eax, 5
mov eax, dword [eax + 0x46cc88]
and eax, 0x7f800
cmp eax, 0xc800
jb 0x40a696
mov cl, byte [ebp + 0x16]
test cl, cl
je 0x4086bc
cmp eax, 0xc800
je 0x40866f
cmp eax, 0xe000
je 0x40866f
mov byte [ebp + 0x241], 0x40
mov cl, byte [ebp + 0x1c4]
xor edx, edx
mov byte [ebp + 0x240], cl
mov dh, byte [ebp + 0x1cd]
pop edi
mov dl, byte [ebp + 0x1ce]
pop esi
imul edx, dword [ebp + 0xc0]
mov dword [ebp + 0xf0], edx
pop ebp
xor eax, eax
pop ebx
add esp, 0x45c
ret
mov al, byte [ebp + 0x1db]
pop edi
mov byte [ebp + 0x240], al
xor eax, eax
mov ah, byte [ebp + 0x1c3]
pop esi
mov al, byte [ebp + 0x1c4]
imul eax, dword [ebp + 0xc0]
lea ecx, [eax + eax*2]
mov eax, 0x92492493
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
xor eax, eax
mov dword [ebp + 0xf0], edx
pop ebp
pop ebx
add esp, 0x45c
ret
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xb4]
test eax, eax
mov eax, 0x490ab8
jne 0x4086e2
mov eax, str.Adjusting_frequency_...
push eax
push ebp
call fcn.00406ea0
mov edx, dword [ebp + 0xf8]
add esp, 8
shl edx, 5
mov eax, dword [edx + 0x46cc88]
and eax, 0x7f800
cmp eax, 0xc800
je 0x409e90
cmp eax, 0xe000
je 0x409e90
cmp eax, 0x1a800
jb 0x408be7
lea eax, [ebp + 0x644]
mov byte [ebp + 0x645], 5
mov byte [ebp + 0x646], 0
mov byte [ebp + 0x647], 0
mov byte [eax], 0
mov byte [ebp + 0x648], 0x80
mov byte [ebp + 0x649], 0
mov byte [ebp + 0x64a], 0
mov byte [ebp + 0x64b], 0x80
mov byte [ebp + 0x64c], 0x80
mov byte [ebp + 0x64d], 0x80
push 0xc
mov byte [ebp + 0x64e], 0xff
push eax
mov ecx, ebp
mov byte [esp + 0x1b], 0xfe
mov byte [esp + 0x1a], 0xfe
mov byte [ebp + 0x64f], 0
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov esi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x4087f9
mov al, byte [ebp + 0x18]
test al, al
jne 0x4087f9
lea eax, [esp + 0x12]
push 1
push eax
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor ecx, ecx
cmp ebx, esi
setne cl
dec ecx
and ecx, 0x96
push ecx
mov ecx, ebp
call fcn.00407cd0
lea edx, [ebp + 0x244]
push 1
push edx
mov ecx, ebp
call fcn.00407560
test al, al
je 0x4087a7
mov al, byte [ebp + 0x644]
mov cl, byte [ebp + 0x244]
and al, 0xf
cmp cl, al
je 0x40882f
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov eax, dword [ebp + 0xc0]
xor edx, edx
mov dh, byte [ebp + 0x248]
xor ecx, ecx
mov dl, byte [ebp + 0x249]
mov ch, byte [ebp + 0x246]
imul edx, eax
mov dword [esp + 0x70], edx
xor edx, edx
mov dh, byte [ebp + 0x24a]
mov cl, byte [ebp + 0x247]
mov dl, byte [ebp + 0x24b]
imul ecx, eax
imul edx, eax
mov dword [esp + 0x74], edx
xor edx, edx
mov dh, byte [ebp + 0x24c]
mov esi, dword [ebp + 0xd4]
mov dl, byte [ebp + 0x24d]
xor ebx, ebx
imul edx, eax
mov dword [esp + 0x78], edx
xor edx, edx
mov dh, byte [ebp + 0x24e]
mov edi, 1
mov dl, byte [ebp + 0x24f]
mov dword [esp + 0x6c], ecx
imul eax, edx
cmp esi, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], edi
jg 0x4088c2
cmp esi, ecx
jge 0x4088cb
lea ecx, [esi + esi]
cmp ecx, eax
jle 0x4088cb
mov ebx, 1
mov dword [esp + 0x28], ebx
mov edx, dword [esp + ebx*8 + 0x6c]
xor ecx, ecx
mov eax, esi
cmp eax, edx
jge 0x4088e5
inc edi
add eax, esi
cmp edi, 0x40
jl 0x4088d3
mov dword [esp + 0x14], edi
jmp 0x408916
mov eax, dword [esp + ebx*8 + 0x70]
mov ecx, dword [esp + ebx*8 + 0x6c]
sub eax, ecx
mov dword [esp + 0x14], edi
cdq
and edx, 0x7f
add edx, eax
mov eax, esi
imul eax, edi
sar edx, 7
sub eax, ecx
mov ecx, edx
cdq
idiv ecx
mov ecx, 0xff
cmp eax, 0xff
jg 0x408916
mov ecx, eax
cmp edi, 0x10
jl 0x408923
mov dword [esp + 0x14], 0xf
test ecx, ecx
jne 0x40892e
mov ecx, 1
jmp 0x40893b
cmp ecx, 0xff
jne 0x40893b
mov ecx, 0xfe
mov al, bl
mov dl, cl
shl al, 7
mov bl, al
dec dl
inc bl
mov byte [ebp + 0x646], dl
mov byte [ebp + 0x648], dl
mov byte [esp + 0x1b], bl
mov byte [ebp + 0x649], bl
mov byte [ebp + 0x64a], dl
mov byte [ebp + 0x64c], dl
mov bl, al
mov dl, al
lea esi, [ebp + 0x644]
add bl, 2
add dl, 3
mov byte [esi], 0
mov byte [ebp + 0x645], 0xc
mov byte [ebp + 0x647], al
mov byte [ebp + 0x64b], bl
mov byte [ebp + 0x64d], dl
mov byte [esp + 0x23], dl
mov dl, byte [esp + 0x1b]
mov byte [ebp + 0x64e], cl
mov byte [ebp + 0x64f], al
mov byte [ebp + 0x650], cl
mov byte [ebp + 0x651], dl
mov dl, byte [esp + 0x23]
mov byte [ebp + 0x652], cl
mov byte [ebp + 0x653], bl
mov byte [ebp + 0x654], cl
inc cl
mov byte [ebp + 0x655], dl
mov byte [ebp + 0x656], cl
mov byte [ebp + 0x657], al
mov al, byte [esp + 0x1b]
mov byte [ebp + 0x658], cl
mov byte [ebp + 0x659], al
mov byte [ebp + 0x65a], cl
mov byte [ebp + 0x65b], bl
mov byte [ebp + 0x65c], cl
push 0x1a
push esi
mov ecx, ebp
mov byte [ebp + 0x65d], dl
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov edi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x408a80
mov al, byte [ebp + 0x18]
test al, al
jne 0x408a80
lea ecx, [esp + 0x12]
push 1
push ecx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor edx, edx
cmp ebx, edi
mov ecx, ebp
setne dl
dec edx
and edx, 0x96
push edx
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x408a2e
mov al, byte [ebp + 0x644]
mov cl, byte [esi]
and al, 0xf
cmp cl, al
je 0x408ab2
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov edi, dword [ebp + 0xc0]
lea ecx, [esp + 0x6c]
lea eax, [ebp + 0x247]
mov esi, 0xc
xor edx, edx
add ecx, 4
mov dh, byte [eax - 1]
mov dl, byte [eax]
add eax, 2
imul edx, edi
mov dword [ecx - 4], edx
dec esi
jne 0x408ac7
mov edx, dword [ebp + 0xd4]
mov edi, dword [esp + 0x54]
xor esi, esi
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
lea ebx, [esp + 0x6c]
mov ecx, dword [ebx]
cmp edx, ecx
jl 0x408b0a
mov eax, edx
sub eax, ecx
jmp 0x408b0e
sub ecx, edx
mov eax, ecx
cmp eax, dword [esp + 0x24]
jae 0x408b1a
mov edi, esi
mov dword [esp + 0x24], eax
inc esi
add ebx, 4
cmp esi, 0xc
jl 0x408afe
mov eax, dword [esp + edi*4 + 0x6c]
mov ebx, dword [esp + 0x14]
cdq
idiv ebx
mov cl, byte [esp + 0x28]
shl cl, 5
add cl, bl
shl cl, 2
mov dword [ebp + 0xf4], eax
mov dl, byte [ebp + edi*2 + 0x647]
and dl, 3
add cl, dl
mov byte [ebp + 0x243], cl
mov cl, byte [ebp + edi*2 + 0x646]
mov byte [ebp + 0x242], cl
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fabs
fidiv dword [esp + 0x2c]
fcomp qword [0x475068]
fnstsw ax
test ah, 0x41
jne 0x40a5f3
add ecx, 0xfd239400
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fabs
fmul qword [0x475060]
fcomp qword [0x475068]
fnstsw ax
test ah, 1
je 0x40a5f3
mov edx, dword [ebp + 0xf8]
shl edx, 5
mov eax, dword [edx + 0x46cc88]
and eax, 0x7f800
cmp eax, 0x1e800
jne 0x40a5f3
mov al, byte [ebp + 0x243]
mov dword [ebp + 0xf4], 0x2dc6c00
or al, 0x40
mov byte [ebp + 0x243], al
jmp 0x40a5f3
cmp eax, 0x16800
je 0x409a9c
cmp eax, 0x17000
je 0x409a9c
cmp eax, 0x17800
je 0x409a9c
cmp eax, 0x18000
je 0x409a9c
cmp eax, 0x18800
je 0x409a9c
cmp eax, 0x19000
je 0x409a9c
cmp eax, 0x19800
je 0x409a9c
cmp eax, 0x1a000
je 0x409a9c
cmp eax, 0x16000
mov byte [esp + 0x13], 0xfe
mov byte [esp + 0x12], 0xfe
jne 0x40912c
lea eax, [ebp + 0x644]
mov byte [ebp + 0x645], 8
mov byte [ebp + 0x646], 0
mov byte [ebp + 0x647], 0
mov byte [eax], 0
mov byte [ebp + 0x648], 0
mov byte [ebp + 0x649], 0x7f
mov byte [ebp + 0x64a], 1
mov byte [ebp + 0x64b], 0
mov byte [ebp + 0x64c], 1
mov byte [ebp + 0x64d], 0x7f
mov byte [ebp + 0x64e], 2
mov byte [ebp + 0x64f], 0
mov byte [ebp + 0x650], 2
mov byte [ebp + 0x651], 0x7f
mov byte [ebp + 0x652], 3
mov byte [ebp + 0x653], 0
push 0x12
mov byte [ebp + 0x654], 3
push eax
mov ecx, ebp
mov byte [ebp + 0x655], 0x7f
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov esi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x408d4c
mov al, byte [ebp + 0x18]
test al, al
jne 0x408d4c
lea ecx, [esp + 0x12]
push 1
push ecx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor edx, edx
cmp ebx, esi
mov ecx, ebp
setne dl
dec edx
and edx, 0x96
push edx
call fcn.00407cd0
lea eax, [ebp + 0x244]
push 1
push eax
mov ecx, ebp
call fcn.00407560
test al, al
je 0x408cfa
mov cl, byte [ebp + 0x644]
mov al, byte [ebp + 0x244]
and cl, 0xf
cmp al, cl
je 0x408d83
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov ebx, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov edi, 8
xor eax, eax
add esi, 4
mov ah, byte [ecx - 1]
mov al, byte [ecx]
add ecx, 2
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esi - 4], eax
dec edi
jne 0x408d98
mov edx, dword [ebp + 0xd4]
xor eax, eax
lea ecx, [esp + 0x70]
cmp edx, dword [ecx]
jl 0x408dcc
inc eax
add ecx, 8
cmp eax, 3
jl 0x408dbf
lea ecx, [ebp + 0x644]
mov byte [ebp + 0x645], 9
mov byte [ebp + 0x646], al
mov byte [ebp + 0x647], 0
mov byte [ecx], 0
mov byte [ebp + 0x648], al
mov byte [ebp + 0x649], 0x10
mov byte [ebp + 0x64a], al
mov byte [ebp + 0x64b], 0x20
mov byte [ebp + 0x64c], al
mov byte [ebp + 0x64d], 0x30
mov byte [ebp + 0x64e], al
mov byte [ebp + 0x64f], 0x40
mov byte [ebp + 0x650], al
mov byte [ebp + 0x651], 0x50
mov byte [ebp + 0x652], al
mov byte [ebp + 0x653], 0x60
mov byte [ebp + 0x654], al
push 0x14
mov byte [ebp + 0x655], 0x70
push ecx
mov byte [ebp + 0x656], al
mov ecx, ebp
mov byte [ebp + 0x657], 0x7f
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov edi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x408ec8
mov al, byte [ebp + 0x18]
test al, al
jne 0x408ec8
lea edx, [esp + 0x12]
push 1
push edx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor eax, eax
cmp ebx, edi
mov ecx, ebp
setne al
dec eax
and eax, 0x96
push eax
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x408e77
mov cl, byte [ebp + 0x644]
mov al, byte [esi]
and cl, 0xf
cmp al, cl
je 0x408efb
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov edi, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov ebx, 9
xor eax, eax
add esi, 4
mov ah, byte [ecx - 1]
mov al, byte [ecx]
add ecx, 2
imul eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esi - 4], eax
dec ebx
jne 0x408f10
mov eax, dword [ebp + 0xd4]
mov ecx, 1
lea edx, [esp + 0x70]
cmp eax, dword [edx]
jl 0x408f47
inc ecx
add edx, 4
cmp ecx, 8
jl 0x408f3a
mov edx, dword [esp + ecx*4 + 0x68]
mov esi, dword [esp + ecx*4 + 0x6c]
sub eax, edx
sub esi, edx
shl eax, 4
cdq
idiv esi
shl ecx, 4
push 0x14
lea eax, [eax + ecx - 0x10]
mov dl, al
mov cl, al
sub dl, 4
sub cl, 3
mov byte [ebp + 0x647], dl
mov dl, al
mov byte [ebp + 0x649], cl
sub dl, 2
mov cl, al
mov byte [ebp + 0x64b], dl
dec cl
mov dl, al
mov byte [ebp + 0x64d], cl
inc dl
mov byte [ebp + 0x64f], al
mov byte [ebp + 0x651], dl
mov cl, al
mov dl, al
add cl, 2
add dl, 3
mov byte [ebp + 0x653], cl
add al, 4
mov byte [ebp + 0x655], dl
mov byte [ebp + 0x657], al
lea eax, [ebp + 0x644]
mov ecx, ebp
push eax
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov edi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x409037
mov al, byte [ebp + 0x18]
test al, al
jne 0x409037
lea eax, [esp + 0x12]
push 1
push eax
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor ecx, ecx
cmp ebx, edi
setne cl
dec ecx
and ecx, 0x96
push ecx
mov ecx, ebp
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x408fe5
mov dl, byte [ebp + 0x644]
mov al, byte [esi]
and dl, 0xf
cmp al, dl
je 0x40906a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov ebx, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov edi, 9
xor eax, eax
add esi, 4
mov ah, byte [ecx - 1]
mov al, byte [ecx]
add ecx, 2
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esi - 4], eax
dec edi
jne 0x40907f
mov esi, dword [ebp + 0xd4]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x24], 0xffffffff
xor edx, edx
lea edi, [esp + 0x6c]
mov ecx, dword [edi]
cmp esi, ecx
jl 0x4090be
mov eax, esi
sub eax, ecx
jmp 0x4090c2
sub ecx, esi
mov eax, ecx
cmp eax, dword [esp + 0x24]
jae 0x4090ce
mov ebx, edx
mov dword [esp + 0x24], eax
inc edx
add edi, 4
cmp edx, 9
jl 0x4090b2
mov eax, dword [esp + ebx*4 + 0x6c]
mov dl, byte [ebp + 0x1dd]
mov dword [ebp + 0xf4], eax
mov cl, byte [ebp + ebx*2 + 0x646]
and cl, 3
shl dl, 4
or cl, dl
mov dl, byte [ebp + 0x1df]
mov byte [ebp + 0x243], cl
mov cl, byte [ebp + 0x1de]
mov al, byte [ebp + ebx*2 + 0x647]
and cl, 3
and dl, 0x7f
mov byte [ebp + 0x240], cl
mov byte [ebp + 0x242], al
mov byte [ebp + 0x241], dl
jmp 0x40a5f3
mov byte [ebp + 0x644], 0
mov byte [ebp + 0x645], 0xb
xor ecx, ecx
lea esi, [ebp + 0x646]
mov eax, ecx
mov edi, 3
cdq
idiv edi
test edx, edx
jne 0x409152
mov byte [esi], dl
cmp edx, 1
jne 0x40915a
mov byte [esi], 0x80
cmp edx, 2
jne 0x409162
mov byte [esi], 0xff
mov eax, dword [ebp + 0xf8]
shl eax, 5
mov eax, dword [eax + 0x46cc88]
and eax, 0x7f800
cmp eax, 0xc800
je 0x40919e
cmp eax, 0xe000
je 0x40919e
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov al, 3
sub al, dl
shl al, 6
mov byte [esi + 1], al
jmp 0x4091b2
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
shl dl, 6
mov byte [esi + 1], dl
inc ecx
add esi, 2
cmp ecx, 0xc
jl 0x409142
lea eax, [ebp + 0x644]
push 0x1a
push eax
mov ecx, ebp
mov byte [ebp + 0x65c], 0
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov esi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x409240
mov al, byte [ebp + 0x18]
test al, al
jne 0x409240
lea ecx, [esp + 0x12]
push 1
push ecx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor edx, edx
cmp ebx, esi
mov ecx, ebp
setne dl
dec edx
and edx, 0x96
push edx
call fcn.00407cd0
lea eax, [ebp + 0x244]
push 1
push eax
mov ecx, ebp
call fcn.00407560
test al, al
je 0x4091ee
mov cl, byte [ebp + 0x644]
mov al, byte [ebp + 0x244]
and cl, 0xf
cmp al, cl
je 0x409277
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov ebx, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov edi, 0xc
xor eax, eax
add esi, 4
mov ah, byte [ecx - 1]
mov al, byte [ecx]
add ecx, 2
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esi - 4], eax
dec edi
jne 0x40928c
mov ecx, 8
lea esi, [ebp + 0x644]
lea edi, [ebp + 0x244]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x6c]
lea eax, [edi + edi]
sub eax, esi
mov dword [esp + 0x98], eax
sub eax, ecx
cdq
idiv ecx
cmp eax, 2
jge 0x40930e
mov eax, dword [ebp + 0xb4]
test eax, eax
mov eax, 0x490a94
jne 0x4092f6
mov eax, str._Skipped____
push eax
push ebp
call fcn.00406ea0
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x45c
ret
mov eax, dword [ebp + 0xd4]
mov esi, dword [esp + 0x70]
cmp eax, esi
jg 0x409320
xor ecx, ecx
jmp 0x409374
cmp eax, dword [esp + 0x74]
jg 0x40932d
mov ecx, 1
jmp 0x409374
cmp eax, dword [esp + 0x7c]
jg 0x40933a
mov ecx, 3
jmp 0x409374
cmp eax, dword [esp + 0x80]
jg 0x40934a
mov ecx, 4
jmp 0x409374
cmp eax, dword [esp + 0x88]
jg 0x40935a
mov ecx, 6
jmp 0x409374
cmp eax, dword [esp + 0x8c]
jg 0x40936a
mov ecx, 7
jmp 0x409374
xor ecx, ecx
cmp eax, edi
setg cl
add ecx, 9
mov al, byte [ebp + ecx*2 + 0x247]
mov ebx, 3
mov byte [ebp + 0x651], al
mov byte [ebp + 0x64f], al
mov byte [ebp + 0x64d], al
mov byte [ebp + 0x64b], al
mov byte [ebp + 0x649], al
mov byte [ebp + 0x647], al
mov eax, ecx
cdq
idiv ebx
test edx, edx
je 0x4093dc
mov eax, dword [esp + ecx*4 + 0x6c]
mov ebx, dword [esp + ecx*4 + 0x70]
mov ecx, dword [ebp + 0xd4]
sub ebx, eax
sub ecx, eax
mov eax, ecx
shl eax, 7
sub eax, ecx
cdq
idiv ebx
add eax, 0x80
cmp eax, 0xfd
jle 0x4093fe
mov eax, 0xfd
jmp 0x4093fe
mov edx, dword [esp + ecx*4 + 0x6c]
mov eax, dword [ebp + 0xd4]
mov ecx, dword [esp + ecx*4 + 0x70]
sub eax, edx
shl eax, 7
sub ecx, edx
cdq
idiv ecx
cmp eax, 3
jge 0x4093fe
mov eax, 3
mov dl, al
mov cl, al
sub dl, 3
sub cl, 2
mov byte [ebp + 0x646], dl
mov byte [ebp + 0x648], cl
mov dl, al
mov cl, al
dec dl
mov byte [ebp + 0x64c], al
inc cl
mov byte [ebp + 0x64a], dl
add al, 2
mov byte [ebp + 0x64e], cl
mov byte [ebp + 0x650], al
mov eax, dword [ebp + 0xf0]
cmp eax, esi
jg 0x409444
xor ecx, ecx
jmp 0x409498
cmp eax, dword [esp + 0x74]
jg 0x409451
mov ecx, 1
jmp 0x409498
cmp eax, dword [esp + 0x7c]
jg 0x40945e
mov ecx, 3
jmp 0x409498
cmp eax, dword [esp + 0x80]
jg 0x40946e
mov ecx, 4
jmp 0x409498
cmp eax, dword [esp + 0x88]
jg 0x40947e
mov ecx, 6
jmp 0x409498
cmp eax, dword [esp + 0x8c]
jg 0x40948e
mov ecx, 7
jmp 0x409498
xor ecx, ecx
cmp eax, edi
setg cl
add ecx, 9
mov al, byte [ebp + ecx*2 + 0x247]
mov esi, 3
mov byte [ebp + 0x65d], al
mov byte [ebp + 0x65b], al
mov byte [ebp + 0x659], al
mov byte [ebp + 0x657], al
mov byte [ebp + 0x655], al
mov byte [ebp + 0x653], al
mov eax, ecx
cdq
idiv esi
test edx, edx
je 0x409500
mov eax, dword [esp + ecx*4 + 0x6c]
mov esi, dword [esp + ecx*4 + 0x70]
mov ecx, dword [ebp + 0xf0]
sub esi, eax
sub ecx, eax
mov eax, ecx
shl eax, 7
sub eax, ecx
cdq
idiv esi
add eax, 0x80
cmp eax, 0xfd
jle 0x409522
mov eax, 0xfd
jmp 0x409522
mov edx, dword [esp + ecx*4 + 0x6c]
mov eax, dword [ebp + 0xf0]
mov ecx, dword [esp + ecx*4 + 0x70]
sub eax, edx
shl eax, 7
sub ecx, edx
cdq
idiv ecx
cmp eax, 3
jge 0x409522
mov eax, 3
mov dl, al
mov cl, al
sub dl, 3
sub cl, 2
mov byte [ebp + 0x652], dl
mov dl, al
mov byte [ebp + 0x654], cl
dec dl
mov cl, al
mov byte [ebp + 0x656], dl
mov byte [ebp + 0x658], al
inc cl
add al, 2
mov byte [ebp + 0x65a], cl
mov byte [ebp + 0x65c], al
mov byte [esp + 0x1b], 0
lea eax, [ebp + 0x644]
push 0x1a
push eax
mov ecx, ebp
mov edi, 0x4b0
mov byte [ebp + 0x645], 0xc
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov byte [esp + 0x13], 0xfe
mov byte [esp + 0x12], 0xfe
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x4095ed
mov al, byte [ebp + 0x18]
test al, al
jne 0x4095ed
lea edx, [esp + 0x12]
push 1
push edx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor eax, eax
cmp ebx, edi
mov ecx, ebp
setne al
dec eax
and eax, 0x96
push eax
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x40959c
mov cl, byte [ebp + 0x644]
mov al, byte [esi]
and cl, 0xf
cmp al, cl
jne 0x409267
mov ebx, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov edi, 0xc
xor eax, eax
add esi, 4
mov ah, byte [ecx - 1]
mov al, byte [ecx]
add ecx, 2
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esi - 4], eax
dec edi
jne 0x409629
mov eax, dword [ebp + 0xd4]
mov edx, dword [esp + 0x80]
xor ecx, ecx
cmp eax, edx
jle 0x409719
cmp byte [ebp + 0x650], 0xff
jae 0x4097d5
xor eax, eax
mov al, byte [ebp + 0x646]
add eax, 5
cmp eax, 0xff
jle 0x40967f
mov eax, 0xff
mov byte [ebp + 0x646], al
xor eax, eax
mov al, byte [ebp + 0x648]
add eax, 5
cmp eax, 0xff
jle 0x40969c
mov eax, 0xff
mov byte [ebp + 0x648], al
xor eax, eax
mov al, byte [ebp + 0x64a]
add eax, 5
cmp eax, 0xff
jle 0x4096b9
mov eax, 0xff
mov byte [ebp + 0x64a], al
xor eax, eax
mov al, byte [ebp + 0x64c]
add eax, 5
cmp eax, 0xff
jle 0x4096d6
mov eax, 0xff
mov byte [ebp + 0x64c], al
xor eax, eax
mov al, byte [ebp + 0x64e]
add eax, 5
cmp eax, 0xff
jle 0x4096f3
mov eax, 0xff
mov byte [ebp + 0x64e], al
xor eax, eax
mov al, byte [ebp + 0x650]
add eax, 5
cmp eax, 0xff
jle 0x4097ca
mov eax, 0xff
jmp 0x4097ca
cmp eax, dword [esp + 0x6c]
jge 0x4097d5
mov al, byte [ebp + 0x646]
test al, al
jbe 0x4097d5
and eax, 0xff
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x646], al
xor eax, eax
mov al, byte [ebp + 0x648]
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x648], al
xor eax, eax
mov al, byte [ebp + 0x64a]
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x64a], al
xor eax, eax
mov al, byte [ebp + 0x64c]
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x64c], al
xor eax, eax
mov al, byte [ebp + 0x64e]
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x64e], al
xor eax, eax
mov al, byte [ebp + 0x650]
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x650], al
mov ecx, 1
mov eax, dword [ebp + 0xf0]
mov edx, dword [esp + 0x98]
cmp eax, edx
jle 0x4098aa
cmp byte [ebp + 0x65c], 0xff
jae 0x409966
xor eax, eax
mov al, byte [ebp + 0x652]
add eax, 5
cmp eax, 0xff
jle 0x40980e
mov eax, 0xff
mov byte [ebp + 0x652], al
xor eax, eax
mov al, byte [ebp + 0x654]
add eax, 5
cmp eax, 0xff
jle 0x40982b
mov eax, 0xff
mov byte [ebp + 0x654], al
xor eax, eax
mov al, byte [ebp + 0x656]
add eax, 5
cmp eax, 0xff
jle 0x409848
mov eax, 0xff
mov byte [ebp + 0x656], al
xor eax, eax
mov al, byte [ebp + 0x658]
add eax, 5
cmp eax, 0xff
jle 0x409865
mov eax, 0xff
mov byte [ebp + 0x658], al
xor eax, eax
mov al, byte [ebp + 0x65a]
add eax, 5
cmp eax, 0xff
jle 0x409882
mov eax, 0xff
mov byte [ebp + 0x65a], al
xor eax, eax
mov al, byte [ebp + 0x65c]
add eax, 5
cmp eax, 0xff
jle 0x40989f
mov eax, 0xff
mov byte [ebp + 0x65c], al
jmp 0x40996a
cmp eax, dword [esp + 0x84]
jge 0x409966
mov al, byte [ebp + 0x652]
test al, al
jbe 0x409966
and eax, 0xff
lea ecx, [eax - 5]
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
xor ecx, ecx
mov byte [ebp + 0x652], al
mov cl, byte [ebp + 0x654]
add ecx, 0xfffffffb
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
xor ecx, ecx
mov byte [ebp + 0x654], al
mov cl, byte [ebp + 0x656]
add ecx, 0xfffffffb
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
xor ecx, ecx
mov byte [ebp + 0x656], al
mov cl, byte [ebp + 0x658]
add ecx, 0xfffffffb
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
xor ecx, ecx
mov byte [ebp + 0x658], al
mov cl, byte [ebp + 0x65a]
add ecx, 0xfffffffb
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
xor ecx, ecx
mov byte [ebp + 0x65a], al
mov cl, byte [ebp + 0x65c]
add ecx, 0xfffffffb
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov byte [ebp + 0x65c], al
jmp 0x40996a
test ecx, ecx
je 0x40999d
mov al, byte [esp + 0x1b]
inc al
cmp al, 4
mov byte [esp + 0x1b], al
jae 0x40999d
jmp 0x40955f
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x45c
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x45c
ret
mov edi, dword [ebp + 0xd4]
mov dword [esp + 0x14], 0x42c80000
mov dword [esp + 0x2c], edi
xor ecx, ecx
fild dword [esp + 0x2c]
lea esi, [esp + 0x6c]
mov edx, dword [esi]
mov eax, edi
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
fcom dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x4099e3
fstp dword [esp + 0x14]
mov dword [esp + 0x24], ecx
jmp 0x4099e5
fstp st(0)
inc ecx
add esi, 4
cmp ecx, 6
jl 0x4099b9
mov ebx, dword [ebp + 0xf0]
mov edi, dword [esp + 0x54]
fstp st(0)
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 0x42c80000
fild dword [esp + 0x1c]
mov ecx, 6
lea esi, [esp + 0x84]
mov edx, dword [esi]
mov eax, ebx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
fcom dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x409a3e
fstp dword [esp + 0x14]
mov edi, ecx
jmp 0x409a40
fstp st(0)
inc ecx
add esi, 4
cmp ecx, 0xc
jl 0x409a16
mov eax, dword [esp + 0x24]
fstp st(0)
mov edx, dword [esp + eax*4 + 0x6c]
mov dword [ebp + 0xf4], edx
mov cl, byte [ebp + eax*2 + 0x647]
mov byte [ebp + 0x243], cl
mov dl, byte [ebp + eax*2 + 0x646]
mov eax, dword [esp + edi*4 + 0x6c]
mov byte [ebp + 0x242], dl
mov dword [ebp + 0xf0], eax
mov cl, byte [ebp + edi*2 + 0x646]
mov byte [ebp + 0x240], cl
mov dl, byte [ebp + edi*2 + 0x647]
mov byte [ebp + 0x241], dl
jmp 0x40a5f3
lea eax, [ebp + 0x644]
push 6
push eax
mov ecx, ebp
mov byte [esp + 0x1b], 0xfe
mov byte [esp + 0x1a], 0xfe
mov byte [eax], 0
mov byte [ebp + 0x645], 2
mov byte [ebp + 0x646], 0
mov byte [ebp + 0x647], 0
mov byte [ebp + 0x648], 0x80
mov byte [ebp + 0x649], 0
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
mov edi, 1
mov ecx, ebp
push edi
push 0
call fcn.00407560
mov esi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x409b4d
mov al, byte [ebp + 0x18]
test al, al
jne 0x409b4d
lea eax, [esp + 0x12]
push edi
push eax
mov ecx, ebp
call fcn.004072c0
mov eax, dword [ebp + 0xc0]
xor ecx, ecx
cmp eax, esi
setne cl
dec ecx
and ecx, 0x96
push ecx
mov ecx, ebp
call fcn.00407cd0
lea edx, [ebp + 0x244]
push edi
push edx
mov ecx, ebp
call fcn.00407560
test al, al
je 0x409afc
mov al, byte [ebp + 0x644]
mov cl, byte [ebp + 0x244]
and al, 0xf
cmp cl, al
je 0x409b7f
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x45c
ret
mov ecx, dword [ebp + 0xc0]
xor eax, eax
mov ah, byte [ebp + 0x246]
mov dword [esp + 0x28], 0
mov al, byte [ebp + 0x247]
imul eax, ecx
cdq
sub eax, edx
mov esi, eax
xor eax, eax
mov ah, byte [ebp + 0x248]
mov al, byte [ebp + 0x249]
imul eax, ecx
mov ecx, dword [ebp + 0xf8]
shl ecx, 5
cdq
mov ecx, dword [ecx + 0x46cc88]
sub eax, edx
and ecx, 0x7f800
sar esi, 1
sar eax, 1
cmp ecx, 0x19800
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
je 0x409be8
cmp ecx, 0x1a000
jne 0x409bff
cmp eax, 0x112a880
jge 0x409bff
add esi, esi
add eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0xd4]
xor ecx, ecx
mov edx, edi
mov ebx, dword [esp + 0x14]
cmp edx, esi
jge 0x409c23
inc ebx
add edx, edi
cmp ebx, 0x40
mov dword [esp + 0x14], ebx
jl 0x409c0d
jmp 0x409c4d
imul edi, ebx
sub eax, esi
sub edi, esi
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
mov eax, edi
cdq
sar ecx, 7
idiv ecx
mov ecx, 0xff
cmp eax, 0xff
jg 0x409c48
mov ecx, eax
cmp ebx, 0x40
jl 0x409c55
mov dword [esp + 0x14], 0x3f
test ecx, ecx
jne 0x409c60
mov ecx, 1
jmp 0x409c6d
cmp ecx, 0xff
jne 0x409c6d
mov ecx, 0xfe
mov al, cl
lea edx, [ebp + 0x644]
dec al
mov byte [ebp + 0x645], 0xc
mov byte [edx], 0
mov byte [ebp + 0x646], al
mov byte [ebp + 0x647], 0
mov byte [ebp + 0x648], al
mov byte [ebp + 0x649], 1
mov byte [ebp + 0x64a], al
mov byte [ebp + 0x64b], 2
mov byte [ebp + 0x64c], al
mov byte [ebp + 0x64d], 3
mov byte [ebp + 0x64e], cl
mov byte [ebp + 0x64f], 0
mov byte [ebp + 0x650], cl
mov byte [ebp + 0x651], 1
mov byte [ebp + 0x652], cl
mov byte [ebp + 0x653], 2
mov byte [ebp + 0x654], cl
inc cl
mov byte [ebp + 0x655], 3
mov byte [ebp + 0x656], cl
mov byte [ebp + 0x657], 0
mov byte [ebp + 0x658], cl
mov byte [ebp + 0x659], 1
mov byte [ebp + 0x65a], cl
mov byte [ebp + 0x65b], 2
mov byte [ebp + 0x65c], cl
push 0x1a
push edx
mov ecx, ebp
mov byte [ebp + 0x65d], 3
call fcn.00407470
push 0x1388
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov edi, 0x4b0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x409d96
mov al, byte [ebp + 0x18]
test al, al
jne 0x409d96
lea edx, [esp + 0x12]
push 1
push edx
mov ecx, ebp
call fcn.004072c0
mov ebx, dword [ebp + 0xc0]
xor eax, eax
cmp ebx, edi
mov ecx, ebp
setne al
dec eax
and eax, 0x96
push eax
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x409d45
mov cl, byte [ebp + 0x644]
mov al, byte [esi]
and cl, 0xf
cmp al, cl
je 0x409dc9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov edi, dword [ebp + 0xc0]
lea esi, [esp + 0x6c]
lea ecx, [ebp + 0x247]
mov ebx, 0xc
xor eax, eax
mov ah, byte [ecx - 1]
mov al, byte [ecx]
imul eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
test edx, edx
mov dword [esi], eax
je 0x409dfc
lea edx, [eax + eax]
mov dword [esi], edx
add ecx, 2
add esi, 4
dec ebx
jne 0x409dde
mov edx, dword [ebp + 0xd4]
or ebx, 0xffffffff
xor esi, esi
imul edx, dword [esp + 0x14]
lea edi, [esp + 0x6c]
mov ecx, dword [edi]
cmp edx, ecx
jl 0x409e25
mov eax, edx
sub eax, ecx
jmp 0x409e29
sub ecx, edx
mov eax, ecx
cmp eax, ebx
jae 0x409e33
mov dword [esp + 0x1c], esi
mov ebx, eax
inc esi
add edi, 4
cmp esi, 0xc
jl 0x409e19
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x409e59
cmp ecx, 2
jge 0x409e59
mov dword [esp + 0x14], 2
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + esi*4 + 0x6c]
cdq
idiv ecx
shl cl, 2
mov dword [ebp + 0xf4], eax
mov al, byte [ebp + esi*2 + 0x647]
and al, 3
add al, cl
mov byte [ebp + 0x243], al
mov cl, byte [ebp + esi*2 + 0x646]
mov byte [ebp + 0x242], cl
jmp 0x40a5f3
mov dl, byte [ebp + 0x277]
lea esi, [ebp + 0x659]
lea edi, [ebp + 0x644]
mov byte [esp + 0x13], 0x7f
mov byte [esi], dl
mov al, byte [ebp + 0x278]
mov byte [ebp + 0x65a], al
mov cl, byte [ebp + 0x279]
mov byte [ebp + 0x65b], cl
mov dl, byte [ebp + 0x27a]
mov byte [ebp + 0x65c], dl
mov al, byte [ebp + 0x27b]
mov byte [ebp + 0x65d], al
mov cl, byte [ebp + 0x27c]
mov byte [ebp + 0x65e], cl
mov dl, byte [ebp + 0x27d]
mov byte [ebp + 0x65f], dl
mov ecx, esi
mov byte [ebp + 0x661], 0xff
mov byte [ebp + 0x660], 0xff
mov edx, dword [ecx]
lea eax, [ebp + 0x645]
mov byte [esp + 0x12], 0x7f
mov byte [esp + 0x32], 0x14
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov byte [esp + 0x33], 0xe
mov byte [esp + 0x35], 0x12
mov dword [eax + 4], edx
mov cx, word [ecx + 8]
mov byte [esp + 0x37], 6
mov byte [esp + 0x38], 6
mov word [eax + 8], cx
mov al, 0x10
mov byte [esp + 0x30], al
mov byte [esp + 0x31], al
mov al, 0xc
mov byte [edi], 0x65
mov byte [esp + 0x34], al
mov byte [esp + 0x36], al
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], al
mov eax, dword [ebp + 0xc0]
cmp eax, 0x12c0
mov byte [esp + 0x39], 8
mov byte [esp + 0x3a], 6
mov byte [esp + 0x3b], 6
mov byte [esp + 0x3c], 6
mov byte [esp + 0x3d], 6
mov byte [esp + 0x3e], 6
mov byte [esp + 0x3f], 6
mov byte [esp + 0x40], 6
mov byte [esp + 0x41], 8
mov byte [esp + 0x42], 6
mov byte [esp + 0x43], 6
mov byte [esp + 0x44], 6
mov byte [esp + 0x45], 6
mov byte [esp + 0x46], 6
mov byte [esp + 0x47], 6
mov byte [esp + 0x48], 6
mov byte [esp + 0x4c], 0xff
mov byte [esp + 0x4d], 0xff
mov byte [esp + 0x4e], 0xff
mov byte [esp + 0x4f], 0xff
mov byte [esp + 0x50], 0xff
mov byte [esp + 0x51], 0xff
mov byte [esp + 0x52], 0xff
jg 0x409ffc
je 0x409ff5
cmp eax, 0x4b0
je 0x409ff1
cmp eax, 0x960
jne 0x40a003
mov eax, 7
jmp 0x40a00f
xor eax, eax
jmp 0x40a00f
mov eax, 0xe
jmp 0x40a00f
cmp eax, 0x2580
je 0x40a00a
mov eax, 0x1c
jmp 0x40a00f
mov eax, 0x15
mov ecx, dword [ebp + 0xd4]
cmp ecx, 0x5b8d80
jle 0x40a01e
inc eax
cmp ecx, 0x802c80
jle 0x40a027
inc eax
cmp ecx, 0xb71b00
jle 0x40a030
inc eax
cmp ecx, 0x1036640
jle 0x40a039
inc eax
cmp ecx, 0x16e3600
jle 0x40a042
inc eax
cmp ecx, 0x206cc80
jle 0x40a04b
inc eax
mov dl, byte [esp + eax + 0x30]
mov byte [ebp + 0x64e], dl
mov byte [ebp + 0x64f], 6
mov eax, dword [ebp + 0xd4]
cmp eax, 0x7270e0
jg 0x40a072
xor al, al
xor dl, dl
jmp 0x40a209
cmp eax, 0x989680
jg 0x40a1db
xor al, al
mov dl, 1
mov bl, 0x80
mov byte [esp + 0x1b], 0xff
mov byte [esp + 0x23], 0
mov cl, bl
shl al, 6
or al, 0x18
mov byte [ebp + 0x654], al
mov byte [ebp + 0x650], al
mov al, byte [esp + 0x1b]
mov byte [ebp + 0x651], bl
shl dl, 6
mov byte [ebp + 0x655], al
mov byte [ebp + 0x656], 2
mov al, dl
mov dl, byte [esp + 0x23]
mov byte [ebp + 0x652], 2
mov byte [ebp + 0x657], 0
or al, 0x18
mov byte [ebp + 0x653], 0
mov byte [ebp + 0x65c], al
mov byte [ebp + 0x658], al
mov byte [esi], dl
mov byte [ebp + 0x65d], cl
mov byte [ebp + 0x65e], 2
mov byte [ebp + 0x65a], 2
mov byte [ebp + 0x65f], 0
mov byte [ebp + 0x65b], 0
mov eax, dword [ebp + 0xf0]
cmp eax, 0x1312d00
mov al, 0x58
jl 0x40a118
mov al, 0x98
mov byte [ebp + 0x664], al
mov byte [ebp + 0x660], al
mov byte [ebp + 0x661], 0
mov byte [ebp + 0x665], 0x80
mov byte [ebp + 0x666], 2
mov byte [ebp + 0x662], 2
push 0x24
mov byte [ebp + 0x667], 0
push edi
mov ecx, ebp
mov byte [ebp + 0x663], 0
call fcn.00407470
push 0x7d0
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x40a1ae
mov al, byte [ebp + 0x18]
test al, al
jne 0x40a1ae
lea eax, [esp + 0x12]
push 1
push eax
mov ecx, ebp
call fcn.004072c0
push 0
mov ecx, ebp
call fcn.00407cd0
lea ecx, [ebp + 0x244]
push 1
push ecx
mov ecx, ebp
call fcn.00407560
test al, al
je 0x40a16f
cmp byte [ebp + 0x244], 0x65
je 0x40a229
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
cmp eax, 0xe4e1c0
jg 0x40a1e8
mov al, 1
mov dl, al
jmp 0x40a209
cmp eax, 0x1406f40
jg 0x40a1f8
mov al, 1
mov dl, 2
jmp 0x40a081
cmp eax, 0x1d905c0
jg 0x40a205
mov al, 2
mov dl, al
jmp 0x40a209
mov al, 3
mov dl, al
xor bl, bl
cmp al, 3
setne cl
dec ecx
mov byte [esp + 0x1b], 0x80
and ecx, 0xffffffb5
mov byte [esp + 0x23], 0x80
add ecx, 0xff
jmp 0x40a08f
mov eax, dword [ebp + 0xc0]
cmp eax, 0x1c200
jne 0x40a243
mov dword [esp + 0x14], 0x835
jmp 0x40a2d1
cmp eax, 0xe100
jne 0x40a254
mov dword [esp + 0x14], 0x820
jmp 0x40a2d1
cmp eax, 0x9600
jne 0x40a265
mov dword [esp + 0x14], 0x81b
jmp 0x40a2d1
cmp eax, 0x7080
jne 0x40a276
mov dword [esp + 0x14], 0x818
jmp 0x40a2d1
cmp eax, 0x4b00
jne 0x40a287
mov dword [esp + 0x14], 0x816
jmp 0x40a2d1
cmp eax, 0x3840
jne 0x40a298
mov dword [esp + 0x14], 0x814
jmp 0x40a2d1
cmp eax, 0x2580
jne 0x40a2a9
mov dword [esp + 0x14], 0x814
jmp 0x40a2d1
cmp eax, 0x12c0
jne 0x40a2ba
mov dword [esp + 0x14], 0x812
jmp 0x40a2d1
cmp eax, 0x960
mov dword [esp + 0x14], 0x80f
je 0x40a2d1
mov dword [esp + 0x14], 0x80d
xor ecx, ecx
lea esi, [esp + 0x5c]
mov ch, byte [ebp + 0x266]
mov ebx, 4
mov cl, byte [ebp + 0x267]
imul ecx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
mov cl, byte [ebp + 0x265]
shr eax, 0x1f
mov byte [ebp + 0x240], cl
lea ecx, [ebp + 0x253]
lea eax, [edx + eax + 6]
imul eax, dword [esp + 0x14]
mov dword [ebp + 0xf0], eax
mov edi, dword [ebp + 0xc0]
xor edx, edx
mov eax, 0x1b4e81b5
mov dh, byte [ecx - 1]
add esi, 4
mov dl, byte [ecx]
add ecx, 4
imul edx, edi
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax + 6]
imul edx, dword [esp + 0x14]
mov dword [esi - 4], edx
dec ebx
jne 0x40a321
mov esi, dword [ebp + 0xd4]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], 0x42c80000
fild dword [esp + 0x2c]
xor ecx, ecx
lea edi, [esp + 0x5c]
mov edx, dword [edi]
mov eax, esi
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
fcom dword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x40a397
fstp dword [esp + 0x24]
mov ebx, ecx
jmp 0x40a399
fstp st(0)
inc ecx
add edi, 4
cmp ecx, 4
jl 0x40a36f
cmp ebx, 2
fstp st(0)
jge 0x40a3fe
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
xor eax, eax
sub ecx, edi
mov al, byte [ebp + 0x251]
xor edx, edx
mov dl, byte [ebp + 0x255]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
sub edx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
xor ebx, ebx
fidiv dword [esp + 0x1c]
mov bl, byte [ebp + 0x250]
mov dword [esp + 0x28], ebx
fild dword [esp + 0x24]
fmul st(1)
call sub.MSVCRT.dll__ftol
sub eax, edi
add eax, esi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jmp 0x40a451
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
xor eax, eax
sub ecx, edi
mov al, byte [ebp + 0x259]
xor edx, edx
mov dl, byte [ebp + 0x25d]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
sub edx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
xor ebx, ebx
fidiv dword [esp + 0x1c]
mov bl, byte [ebp + 0x258]
mov dword [esp + 0x28], ebx
fild dword [esp + 0x24]
fmul st(1)
call sub.MSVCRT.dll__ftol
sub eax, edi
add eax, esi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fdiv st(1)
call sub.MSVCRT.dll__ftol
sub eax, 5
fstp st(0)
jns 0x40a463
xor eax, eax
jmp 0x40a46f
cmp eax, 0xf4
jle 0x40a46f
mov eax, 0xf4
mov byte [ebp + 0x64f], 0xb
mov cl, byte [ebp + 0x64f]
xor edx, edx
test cl, cl
jbe 0x40a4af
lea ecx, [ebp + 0x651]
jmp 0x40a48e
mov ebx, dword [esp + 0x28]
mov byte [ecx - 1], bl
mov bl, dl
add bl, al
inc edx
mov byte [ecx], bl
mov byte [ecx + 1], 2
xor ebx, ebx
mov byte [ecx + 2], 0
mov bl, byte [ebp + 0x64f]
add ecx, 4
cmp edx, ebx
jl 0x40a48a
lea eax, [ebp + 0x644]
push 0x38
push eax
mov ecx, ebp
call fcn.00407470
push 0x7d0
mov ecx, ebp
call fcn.004077c0
push 1
push 0
mov ecx, ebp
call fcn.00407560
push 0xfa0
mov ecx, ebp
call fcn.004077c0
mov al, byte [ebp + 0x17]
test al, al
je 0x40997d
mov ecx, ebp
call fcn.004077e0
test al, al
jne 0x40998d
mov al, byte [ebp + 0x14]
test al, al
jne 0x40a521
mov al, byte [ebp + 0x18]
test al, al
jne 0x40a521
lea eax, [esp + 0x12]
push 1
push eax
mov ecx, ebp
call fcn.004072c0
push 0
mov ecx, ebp
call fcn.00407cd0
lea esi, [ebp + 0x244]
push 1
push esi
mov ecx, ebp
call fcn.00407560
test al, al
je 0x40a4e2
cmp byte [esi], 0x65
je 0x40a54a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x45c
ret
mov edi, dword [ebp + 0xd4]
mov cl, byte [ebp + 0x250]
mov ebx, dword [ebp + 0xc0]
mov dword [esp + 0x2c], edi
fild dword [esp + 0x2c]
mov dword [esp + 0x24], 0x42c80000
mov byte [ebp + 0x243], cl
mov dword [esp + 0x1c], edi
lea esi, [ebp + 0x253]
mov dword [esp + 0x28], 0xb
xor ecx, ecx
mov eax, 0x1b4e81b5
mov ch, byte [esi - 1]
mov cl, byte [esi]
imul ecx, ebx
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 6]
mov eax, edi
imul ecx, dword [esp + 0x14]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fdiv st(1)
fcom dword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x40a5d7
fstp dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
mov cl, byte [esi - 2]
mov byte [ebp + 0x242], cl
jmp 0x40a5d9
fstp st(0)
mov eax, dword [esp + 0x28]
add esi, 4
dec eax
mov dword [esp + 0x28], eax
jne 0x40a584
mov edx, dword [esp + 0x1c]
fstp st(0)
mov dword [ebp + 0xf4], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x58], 0
sub eax, ebx
sub esp, 8
mov dword [esp + 0x5c], eax
fild qword [esp + 0x5c]
fmul dword [0x47505c]
fstp qword [esp]
push 0x490a74
push ebp
call fcn.00406ea0
mov eax, dword [ebp + 0xb4]
add esp, 0x10
test eax, eax
mov eax, 0x490a50
jne 0x40a63d
mov eax, str.Adjusted_frequency:__.3fMHz___.3f____r_n
fild dword [ebp + 0xf4]
fild dword [ebp + 0xd4]
sub esp, 8
fld st(1)
fsub st(1)
sub esp, 8
fdiv st(1)
fmul dword [0x475058]
fstp qword [esp + 8]
fstp st(0)
fmul qword [0x475050]
fstp qword [esp]
push eax
push ebp
call fcn.00406ea0
fild dword [ebp + 0xd4]
fild dword [ebp + 0xf4]
add esp, 0x18
mov byte [ebp + 0x27], 1
fsub st(1)
fdiv st(1)
fmul dword [0x475058]
fstp dword [ebp + 0x18c]
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x45c
ret